Excel – 具有相同值的多个列的INDEX函数
我试图把东西放在一起,使我能够随时find某个特定楼层的电梯位置。 数据样本如下:
Time | Catering Area | Waste Area | Waste Area 5:00am | L2 | L2 | L4 5:05am | L2 | L7 | L5 5:10am | B1 | L3 | L7 5:15am | B2 | L4 | L9
我已经设置了两个下拉字段来selectbuild筑物的等级和面积(例如L7和垃圾区)。 基于这些select,我想要显示电梯何时在build筑物区域内的所需水平; 即:
Level Selected: L7; Building Area Selected: Waste Area Time | Lift At L7? 5:00am | No 5:05am | Yes 5:10am | Yes 5:15am | No
我已经build立了一个INDEX
函数,但是我需要search具有相同头名称的多个列,即。 “废物区”。 目前的function如下:
INDEX($A$1:$D$5,MATCH(A10,A:A,0),[col_num])
然后,这将与IF
语句配对,以检查返回的级别是否与下拉字段中的期望级别匹配。 如上所示,结果将是每次“是”或“否”的列表。
任何帮助将不胜感激。
试试COUNTIFS()工作表函数。
=COUNTIFS(B$1:D$1,"Waste Area",B2:D2,"L7") =COUNTIFS(B$1:D$1,"Waste Area",B3:D3,"L7") =COUNTIFS(B$1:D$1,"Waste Area",B4:D4,"L7") =COUNTIFS(B$1:D$1,"Waste Area",B5:D5,"L7")
当地区匹配和地面匹配时,它将计入条目。 非零=“是”。
由于您的输出时间列与input完全相同,因此我假定您实际上并不需要search正确的行。 如果你有更多的技巧,我可以告诉你…
(编辑…)
如果您需要search特定时间,请使用find正确行的公式replace第三个参数B2:D2
。
OFFSET(B$1:D$1,MATCH(A16,A$2:A$5),0)
所以它成为
=COUNTIFS( B$1:D$1, AREA_NAME, OFFSET(B$1:D$1,MATCH(A16,A$2:A$5),0), FLOOR)
假设你的数据是在A1:D5中,并且你已经命名了你的范围(注意Waste包含两列)
Catering =Sheet1!$B$2:$B$5 Times =Sheet1!$A$2:$A$5 Waste =Sheet1!$C$2:$D$5
在某个单元格中复制Times的列表; 我用A11:A14
使用面积中的下拉值复制定义的名称,包含所选层次的B9和包含build筑面积的D9(均来自下拉列表),可以使用以下公式返回TRUE或FALSE,具体取决于电梯是否处于位置。
对于是/否响应,在IF语句中使用此公式作为Logical_test。
这个公式必须是数组input的 ,然后每次填写相邻的:
=OR((A11=Times)*($B$9=INDIRECT($D$9)))
要input公式,在将公式input到单元格或公式栏后,按住同时按下。 如果你这样做是正确的,Excel将把括号{…}放在公式的周围。