匹配值,然后向左或向右返回单元格的值

时间:2018-08-10 17:14:34

标签: excel excel-formula

我有一系列具有不同值的单元格。我想匹配单元格的值,但将单元格的值返回到左侧或右侧。为简单起见,我们只说我想要左侧的单元格1列:

enter image description here

不胜感激任何指针

2 个答案:

答案 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))

enter image description here

答案 1 :(得分:-2)

由于VLookup仅在您的键是该范围中最左边的项时才起作用,即使只有该范围是从上到下的平面表时,我也认为只能使用VBA做到这一点。如果您的数据始终都是这种格式,则也可以简单地在底部硬编码一行,在顶部硬编码一个特定的单元格,如果它与查找值匹配,则写入数据,然后过滤这些行以删除错误/空单元格。

在VBA中,您只需指定查找数据的起点,循环遍历单元格(向下或向右,然后在出现空白时回绕,直到找不到更多数据为止),比较单元格值到您的查询队列,如果匹配,则在底部写入数据条目。