Excel - 如何在另一个 sheet 中引用带有 x 的单元格旁边的单元格?
Excel - How to do I reference a cell next to a cell with an x in it in another sheet?
在 sheet 1 中,第 1 列是垂直的单词列表(例如 A1:A25)。
在 sheet 1 列 2 我想随机放置一个 X(例如在 B1:B25 之间的一个单元格中)
In sheet 2 我想 return sheet 1 中 X 左边的任何单词。
我该怎么做?
Vlookup 是从左到右取的。如果在 sheet 1 中交换列,则可以使用 =vlookup()
公式。
如果“X”在左边,您可以使用 VLOOKUP 找到它右边的单词,但如果“X”在右边,那么您需要 INDEX 和 MATCH:
=INDEX(Sheet1!$A:$A,MATCH("X",Sheet1!$B:$B,0))
如果您需要找到第 N 个“X”,则不能使用该方法,因为 MATCH returns 它找到的 第一个 匹配项的行号。所以你需要 SMALL 来获得包含“X”的第 N 个最小行:
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B:$B="X",ROW(Sheet1!$B:$B)-ROW(INDEX(Sheet1!$B:$B,1,1))+1),N))
将公式中的最后一个“N”设置为您要查找的项目 - 如果它是 1,则它会找到第一个带“X”的项目,如果它是 2,它会找到第二个,依此类推。
所以对于第一个“X”:
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B:$B="X",ROW(Sheet1!$B:$B)-ROW(INDEX(Sheet1!$B:$B,1,1))+1),1))
第二个:
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B:$B="X",ROW(Sheet1!$B:$B)-ROW(INDEX(Sheet1!$B:$B,1,1))+1),2))
这是一个数组公式,因此当您输入它时,您需要按 Control-Shift-Enter,而不是单独按 Enter。输入后将显示在括号内。
我从 https://exceljet.net/formula/get-nth-match-with-index-match 改编了这个公式,他们对它的工作原理有深入的描述。
在 sheet 1 中,第 1 列是垂直的单词列表(例如 A1:A25)。
在 sheet 1 列 2 我想随机放置一个 X(例如在 B1:B25 之间的一个单元格中)
In sheet 2 我想 return sheet 1 中 X 左边的任何单词。 我该怎么做?
Vlookup 是从左到右取的。如果在 sheet 1 中交换列,则可以使用 =vlookup()
公式。
如果“X”在左边,您可以使用 VLOOKUP 找到它右边的单词,但如果“X”在右边,那么您需要 INDEX 和 MATCH:
=INDEX(Sheet1!$A:$A,MATCH("X",Sheet1!$B:$B,0))
如果您需要找到第 N 个“X”,则不能使用该方法,因为 MATCH returns 它找到的 第一个 匹配项的行号。所以你需要 SMALL 来获得包含“X”的第 N 个最小行:
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B:$B="X",ROW(Sheet1!$B:$B)-ROW(INDEX(Sheet1!$B:$B,1,1))+1),N))
将公式中的最后一个“N”设置为您要查找的项目 - 如果它是 1,则它会找到第一个带“X”的项目,如果它是 2,它会找到第二个,依此类推。
所以对于第一个“X”:
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B:$B="X",ROW(Sheet1!$B:$B)-ROW(INDEX(Sheet1!$B:$B,1,1))+1),1))
第二个:
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B:$B="X",ROW(Sheet1!$B:$B)-ROW(INDEX(Sheet1!$B:$B,1,1))+1),2))
这是一个数组公式,因此当您输入它时,您需要按 Control-Shift-Enter,而不是单独按 Enter。输入后将显示在括号内。
我从 https://exceljet.net/formula/get-nth-match-with-index-match 改编了这个公式,他们对它的工作原理有深入的描述。