【问题标题】:See if any values in array exist in a column (excel)查看列中是否存在数组中的任何值(excel)
【发布时间】:2014-07-26 18:26:48
【问题描述】:

我有一个 30 列和 800 行的数组(表 1),每个单元格都有文本或空白。我想检查该数组中的任何值(特别是逐行)是否存在于列中(保管清单对冲):

例子:

表 1:

 ASKF    AQA6               
 ARO3    ASKD    AQA5           
 ASKA    ARMA    ARNA    ARMB    ARBA   
 ARMV    ARN6    ARNS    ARO6    AQFS   
 ARQ4    ARMJ    ARN4    ARNJ    ARO4    ARBJ

托管清单对冲:

妇幼保健基金编号

BWTZ
AEGF
AEGH
AEGJ
AEGL
AEGM
AEGP

我尝试过计数、匹配索引、vlookups,但似乎没有任何效果。我不想使用 VBA。我知道这可以通过循环来完成,但必须设置一个函数来执行此操作。到目前为止,我尝试过这个,但我认为它不是每次都有效,不知道为什么......

=INDEX('Sheet 1'!D:AE,MATCH('保管清单 - 对冲'!A3,'保管清单 - 对冲'!A:A,0),1)

【问题讨论】:

  • 您必须在单个单元格中执行此操作,或者我们可以在 MCH Fund Number 旁边添加一列以查看每个项目是否在另一个集合中,然后对该列执行操作?
  • 理想情况下在一个单元格中,但如果它必须在两个左右,那也没关系。我实际上是在尝试在一个公式中进行 40 次查找

标签: excel indexing match vlookup


【解决方案1】:

为此,我将 A1 中要搜索的文本放入 F5,将 A11 中要搜索的代码放入 A17

首先,我们需要FIND字符串中的文字:FIND($A$11:$A$17,A1:F1)

接下来,我们需要意识到我们需要这是一个数组公式(否则它只会检查 A11 和 A1)
这是通过使用 CTRL+SHIFT+ENTER 在我们实际完成公式构建时完成的
这会生成一个类似于 #VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1 的列表

现在我们将其转换为告诉我们是否找到文本的内容
这些值由 ISERROR 转换为 TRUE;TRUE;TRUE;TRUE;TRUE;FALSE

然后我们交换值,所以如果找到则为 TRUE,否则为 FALSE,使用 NOT,这会将所有内容反转为 FALSE;FALSE;FALSE;FALSE;FALSE;TRUE

接下来,我们将它们转换为可以使用-- 添加的数字。这是将 TRUE 转换为 1 并将 FALSE 转换为 0 的技巧。然后我们有 0;0;0;0;0;1

最后,我们对数字求和,然后告诉我们在您正在搜索的字符串中找到了列表中的多少个单词

这将构建一个如下所示的最终公式:

{=SUM(--(NOT(ISERROR(FIND($A$11:$A$17,A1:F1)))))}

(大括号,{} 会让你知道你输入了一个数组公式)

然后您可以针对 0 进行测试以发现未找到的内容,并针对 >0 进行测试以发现某些单词

【讨论】:

  • 我认为这与我正在尝试做的相反。我希望在保管清单对冲清单中搜索工作表 1 上的任何值
  • 啊,我也认为你这样做的方式是给我一些找到的数量。我需要查看找到的值。例如,如果我在托管列表中找到 ASKF、ASKD、ARNA、ARO6,我需要将 ASKF、ASKD、ARO6 和 ARNA 作为输出。这就是为什么我认为逐行是最好的,所以我可以把它拖下来。因此,如果在 A1:A7 中找到 ASKF 或 AQA6,我想输入 G1 来输出。
  • 你需要它输出,还是突出显示? =NOT(ISERROR(VLOOKUP(A1,$A$11:$A$17,1,False))) 的条件格式公式将允许您在列表中找到的任何单元格上设置突出显示 - 请注意,您必须手动输入单元格引用 A1,否则它将固定它的位置,并且不允许条件格式检查每个单元格。
  • 我需要一个输出,总共有 32000 个单元格,我无法逐个检查亮点。即使我对列进行排序和过滤,它仍然会太多。最终,我只是试图搜索一列(保管清单对冲),以查看表 1 中的任何值是否逐行存在。所以在你的例子中,如果 A1 或 B1 不存在,我的输出会是 N/A、空白或 0(几乎任何东西)。如果这两个值中的任何一个在数组中,我希望它们中的任何一个在输出中返回(无论哪个都无所谓)感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2013-11-10
  • 2015-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
  • 2021-08-31
相关资源
最近更新 更多