将文本与由数字标识的行对齐,并与字符串中嵌入的 ID 匹配

Align Text To Row Identified by Number and to ID Matching that Embedded in String

我需要将 ALERT STRING 列中的文本与 ID ROW 列中由数字标识的行对齐。

此外,我还需要将相同的 ALERT STRING 文本与相同的 ID ROW 编号对齐,并与嵌入在 TEXT WITH ID 列中的字符串中匹配的 ID 对齐。 (有时需要对真实世界的数据进行双重检查。)

到目前为止,我只弄清楚了如何将 ALERT STRING 与嵌入在 TEXT WITH ID 列中的 ID 匹配对齐: =LOOKUP(2,1/SEARCH(A2,$F:$F),$G:$G)

我感谢大家提供的任何帮助。您可以在此处找到该工作簿的可编辑副本: https://1drv.ms/x/s!ArQ7Kw6ayNMY2zktTW3pDCbMmJZ_

UPDATENayan 为这个问题的第一部分提供了解决方案(请参阅下面的答案)。我仍在尝试为这个问题的 D 列部分计算出一个公式,其中 E 列中显示的行引用与 A 列中显示的 ID 及其在其中一个文本字符串中的对应值的匹配组合在 F 列中。

到目前为止我能想到的最好的是一个失败率很高的公式: =INDEX($G:$G,MATCH(ROW(D2),$E:$E,MATCH("*"&A2&"*",$F:$F,0)))

对于这部分问题的任何帮助将不胜感激。

ROW([reference])

  • Returns引用的行号
  • 例如:Row(B2) returns 2. 如果没有提供像 ROW() 这样的也将 return 基于调用它的单元格位置的行号。

VLOOKUP(loolup_value, table_array, col_index_num, [range_lookup])

  • 在 table 最左边的列中查找一个值,然后 return 在您指定的列 (col_index_num)[=51= 的同一行中查找一个值]
  • 默认情况下 - table 必须按升序排序。

试试这个:

=VLOOKUP(ROW(B2),$E:$G,3,FALSE)

INDEX(array, row_num, [column_num]) INDEX(reference, row_num, [column_num], [area_num])

  • Returns 给定范围内特定行和列交叉处的单元格的值或引用。

在这种情况下,您必须使用 MATCH 函数获得 row_num。

MATCH(lookup_value, lookup_array, [match_type])

  • Returns 数组中与指定顺序匹配指定值的项目的相对位置。
  • match_type:1(小于)、0(完全匹配)、-1(大于)

试试这个:

=INDEX($G:$G,MATCH(ROW(B2),$E:$E,0))

使用 MATCH()

的具有多个条件的身份数据
=INDEX($G:$G,MATCH(1, (ROW(D2) = $E:$E) * (ISNUMBER(SEARCH(A2, $F:$F))),0))

参考文献:

https://exceljet.net/excel-functions/excel-vlookup-function

https://exceljet.net/excel-functions/excel-index-function

https://exceljet.net/formula/index-and-match-with-multiple-criteria

这是我在 D 列中寻找的公式:

=INDEX($G:$G,MATCH(ROW(D2)&"*"&A2&"*",INDEX($E:$E&$F:$F,),0))

您可以看到它正在运行 here

Nayan对回答这个问题提供了很大的帮助,所以我将他的回答标记为已接受的解决方案。

Syeda Fahima Nazreen provided the example我参考了上面的公式

参考: Nested Excel Formula with Two INDEX Functions and a MATCH Function with Multiple Criteria