【问题标题】:Ms Excel 2010 Comparing 2 columns and if the results match then compare another 2 and return the if they matchExcel 2010 女士比较 2 列,如果结果匹配,则比较另外 2 列并返回它们是否匹配
【发布时间】:2015-01-27 10:59:35
【问题描述】:

好吧,这解释起来有点混乱,更糟糕的是用词和搜索互联网。

我有 4 列,每列 700 行,其中 2 列用于 IE8,即 GPO 名称和值,另外 2 列用于 IE10,即 GPO 名称和值。

我设法找到了一个公式来比较每列中存在的 GPO 名称,这是公式:

=IFERROR(INDEX($A$1:$A$700,MATCH(B2,$A$1:$A$700,0),1),"*** NO ***")

因此,如果在另一列中找到该值,它将显示名称,否则将显示为 * NO *

所以现在,使用这个公式,我想比较这些值,但问题是我只想在两者都存在名称的情况下比较它们。另一个问题是该值可能是“已启用”,但列中还有 400 个其他“已启用”,因此它必须与 GPO 名称右侧的值相关。

我无法附上 Excel 电子表格的副本,但希望有人知道如何实现这一点。

提前致谢。

安东斯克

【问题讨论】:

  • 你不能只嵌套另一个 IF 语句吗?
  • 我试图嵌套另一个 IF 语句,但我不能完全正确地得到公式。
  • 不要使用IFERROR,使用IF(ISERROR(...), TRUE, FALSE)
  • 好的,谢谢,我会看看使用 IF(ISERROR(

标签: excel excel-formula spreadsheet


【解决方案1】:

在您的公式中:
=IFERROR(INDEX($A$1:$A$700,MATCH(B2,$A$1:$A$700,0),1),"*** NO ***")

MATCH() 将返回范围 A1:A700 中的 ROW NUMBER,其中值与 B2 匹配。假设这是 32 岁。

然后,

INNDEX() 将获取您指定范围的第 32 行中单元格的 VALUE:A1:A700。可以说这是“GPO_Name_32”。

您可以使用 MATCH() 的结果在相应行(例如相邻列)中返回不同范围的值。因此,您的公式将是(类似于):
v - =IFERROR(INDEX($A$1:$A$700,MATCH(B2,$A$1:$A$700,0),1),"*** NO ***")

=IFERROR(INDEX($C$1:$C$700,MATCH(B2,$A$1:$A$700,0),1),"*** NO ***")

【讨论】:

  • 感谢您的回复,这确实符合我的要求,但它不会比较值以查看它们是否匹配,有什么想法吗?
  • 请添加一些示例数据的摘录 - 显示您正在使用的列,以便我给出更好的答案...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 1970-01-01
相关资源
最近更新 更多