首页 > 解决方案 > 搜索特定文本的行并将其复制到单元格

问题描述

我想知道是否有人可以提供帮助:

我有一张包含数据行的表格。在每一行中,在其他列中的许多其他条目中,将出现一次“x”或“y”。该字符串是单元格中的唯一文本。没有行同时具有“x”和“y”。我想在每一行中识别“x”或“y”并将值复制到新列。

用外行的话来说是这样的;

IF row contains "x" write "x"
  else If row contains "y" write "y"
  else write ""
end

我已经设法在使用下面的公式的地方进行了某种多步骤过程。但它超级笨重,需要很多步骤,复制、粘贴、结果等,周一不会为这个人飞行。

=IF(ISNUMBER(SEARCH(substring,text)), "x", "y")

多谢 D

标签: excelexcel-formulaformula

解决方案


您可以执行嵌套的 IF 语句。您没有指定与数据相关的公式的位置,但如果您想要 A 列中的结果,那么您可以执行类似的操作(假设您想要单元格 A1 中的结果并查看区域 B1 中的单元格中的数据:IV1)...

=IF(NOT(ISERROR(MATCH("y",$B1:$IV1,0))),"y",IF(NOT(ISERROR(MATCH("x",$B1:$IV1,0))),"x",""))

其基础是 MATCH() 函数。如果在该范围内未找到匹配项,则返回 #NA 错误,否则返回第一个匹配项所在的位置索引。因为它在找不到匹配项时会引发错误,所以我将 MATCH 包装在 ISERROR 函数中以将其转换为 TRUE/FALSE 布尔值,其中当它是错误时返回 TRUE,当它不是错误时返回 FALSE . 由于 TRUE/FALSE 与您正在寻找的相反,我将其包装在 NOT() 函数中以反转它......当它找到“x”或“y”的匹配项时返回 TRUE。


推荐阅读