Excel:在数组中搜索值并获取行和列名称

时间:2018-02-06 05:13:30

标签: excel excel-formula lookup

我有一个包含45个盒子的可用样本的电子表格,排列堆叠,列标题从1到10,行标题从A到J.我正在寻找一种方法来获取框,行和单元格号,如果我查找ID(以B为前缀)。

Sheet 1 是一个动物ID列表,如果样本可用,我想知道

Sheet 2

Box 1
     1     2      3     4     5 ... 10
A   B43   B12    B3    B6    B103
B   B13   B14    B78   B51   B63
C   B78   B33    B99   B43   B92
...
J
Box 2
     1     2      3     4     5 ... 10
A    B2    B6

我尝试按列进行嵌套:

if(match(A2, Sheet2!$B$2:$B$521,0),"1",if(match(A2,Sheet2!$C$2:$C$521,0),"2","")   

...但如果#N/A位于A2列,我就会收到C

我已经将最左边的列重新标记为Box 1 ABox 1 BBox 1 C ......等等,然后执行:

=index(Sheet2!$A$2:$A$521,match(A2,Sheet2!$B$2:$B$521,0),0)

...并复制**列1到10 *的功能。

Sheet 1

Animal ID   Col1      Col2      Col3      Col4 ...
B12         .       Box 1 A     .         .
B43         .         .         .         Box 1 C
...

是否有更简单的方法从数组中获取样本的位置?

1 个答案:

答案 0 :(得分:0)

如果您的Sheet2看起来像这样。

enter image description here

您需要Sheet1中的数据。

enter image description here

然后在B2的单元格Sheet1中输入此公式,并将其向下拖动。

=IFERROR(CONCATENATE(INDEX(Sheet2!$A:$A,(MATCH($A2,Sheet2!B:B,0))-MOD(MATCH($A2,Sheet2!B:B,0)-1,12),)," - ",INDEX(Sheet2!$A:$A,MATCH($A2,Sheet2!B:B,0))),".")