答案 0 :(得分:4)
使用以下内容:
=INDEX($A$1:$F$8,INT(AGGREGATE(15,6,(ROW($A$3:$F$8)+(COLUMN($A$3:$F$8)/1000))/($A$3:$F$8=$B$10),ROW(1:1))),INT(AGGREGATE(15,6,(COLUMN($A$3:$F$8)+(ROW($A$3:$F$8)/1000))/(((ROW($A$3:$F$8)+(COLUMN($A$3:$F$8)/1000))=AGGREGATE(15,6,(ROW($A$3:$F$8)+(COLUMN($A$3:$F$8)/1000))/($A$3:$F$8=$B$10),ROW(1:1)))*($A$3:$F$8=$B$10)),1)-1))
答案 1 :(得分:-2)
由于VLookup仅在您的键是该范围中最左边的项时才起作用,即使只有该范围是从上到下的平面表时,我也认为只能使用VBA做到这一点。如果您的数据始终都是这种格式,则也可以简单地在底部硬编码一行,在顶部硬编码一个特定的单元格,如果它与查找值匹配,则写入数据,然后过滤这些行以删除错误/空单元格。>
在VBA中,您只需指定查找数据的起点,循环遍历单元格(向下或向右,然后在出现空白时回绕,直到找不到更多数据为止),比较单元格值到您的查询队列,如果匹配,则在底部写入数据条目。