我无法找到正确的公式来验证基于“连接”参考数据和实际数据的数据。
我在参考表中有两个参考数据组:
| 水果ID | 水果名称 | 篮子ID | 篮子类型 | 水果ID | |
|---|---|---|---|---|---|
| 1 | 苹果 | BAS-1 | 10 | 1 | |
| 2 | 香蕉 | BAS-1 | 10 | 2 | |
| 3 | 菠萝 | BAS-1 | 20 | 1 | |
| BAS-2 | 10 | 2 |
参考FRUIT了可用数据。参考BASKET了可用的篮子,但有一条规则规定每个篮子中只允许放置一些水果。上表旨在明确:
然后,我在另一张表中拥有数据,用户应该能够在其中进行交互,并且我希望数据验证通过下拉列表仅显示上下文中允许的值。例如:
| 排 | 篮子ID | 篮子类型 | 水果 |
|---|---|---|---|
| 1 | BAS-1 | 10 | X |
| 2 | BAS-1 | 20 | X |
| 3 | BAS-2 | 10 | X |
我的目标是在列中设置一个下拉FRUIT列表,仅允许 row_1 选择 Banana 和 Apple,row_2 选择 Apple,row_3 选择 Banana。我还没有找到一种方法来加入数据来显示实际的水果名称。到目前为止我得到的最接近的是这个公式:
=OFFSET(FRUIT; MATCH(BASKET_ID; …Run Code Online (Sandbox Code Playgroud) 我注意到,如果我尝试一次在多个单元格上使用 EOMONTH,例如:
| A | |
|---|---|
| 1 | 2022 年 1 月 1 日 |
| 2 | 2022 年 1 月 2 日 |
| 3 | 2022 年 1 月 3 日 |
| 4 | 2022 年 1 月 4 日 |
| 5 | 2022 年 1 月 5 日 |
| 6 | 2022 年 1 月 6 日 |
| 7 | 2022 年 1 月 7 日 |
| 8 | 2022 年 1 月 8 日 |
| 9 | 2022 年 1 月 9 日 |
| 10 | 2022 年 1 月 10 日 |
| 11 | 2022 年 1 月 11 日 … |
我有一个像这样的Excel表格
| 存货单位 | 物品ID | 线 |
|---|---|---|
| 111 | 1 | CCC |
| 111 | 2 | 神经网络 |
我需要根据 LINE 列的值过滤行。在office365中可以通过FILTER功能轻松完成。我必须使用 excel 2007。什么是创建过滤函数的好替代方案?
当获得此问题的公式解决方案时,插入行以使用标题分隔数据组,我尝试从溢出结果中删除第一行和最后一行。
这是使用的数据:
| A栏 | B栏 | C栏 | |
|---|---|---|---|
| 第 1 行 | 位置 | 物品 | 数量 |
| 第 2 行 | p1 | 帽子 | 2 |
| 第 3 行 | p3 | 帽 | 3 |
我开始于
=DROP(
REDUCE(0,ROW(A2:C3),LAMBDA(x,y,VSTACK(x,A1:C1,INDEX(A:C,y,),{"","",""}))),
1)
Run Code Online (Sandbox Code Playgroud)
然后,我不仅想删除 REDUCE 函数的起始值,还想删除最后一行,该行始终为空白。
为此我尝试过:
=DROP(
REDUCE(0,ROW(A2:C3),LAMBDA(x,y,VSTACK(x,A1:C1,INDEX(A:C,y,),{"","",""}))),.
{1,-1})
Run Code Online (Sandbox Code Playgroud)
我期望{1,-1}数组能够完成它(1对于它的第一行和-1最后一行)。然而这导致了:
我无法理解这种行为,所以我在更简单的范围和/或数组上尝试了它:
在A1我用过=SEQUENCE(3,3)
直接做同样的事情:=DROP(SEQUENCE(3,3),{1,-1}),给出了另一个结果:

有点有趣:=DROP(SEQUENCE(3,3),{1,1,1,1,1})
结果是{4,4,4,4,4}
我知道我可以使用 DROP 两次来获得所需的结果,但我无法解释这种行为。
这是因为数组的第一个参数改变了数组/范围的大小,而 Excel 无法在同一计算中引用它?