【问题标题】:If(AND) formula, referring between tablesIf(AND) 公式,表间引用
【发布时间】:2016-02-29 22:05:05
【问题描述】:

我有一个需要重新格式化的庞大数据集。

目前是这样的;

但我需要它是这样的;

我已经知道了这个公式,它将被插入到第二张图片的“A区”列中

=IF(AND(Table1[Cell ID]=Table2[Cell_ID],Table1[EUNIS_desc]=Table2[[#Headers],[酸性高山、亚高山和广袤草原]]),Table1[AREA],0)

但是,虽然这会正确填充第一行。同一列中下面的所有其他块只会响应 false 给出“0”,即使它们也应该具有 true 值。

另一个问题是公式由于某种原因大量(向下)扩展了表格,并带有空的 false 值。

亲切的问候,

哈里森

【问题讨论】:

  • 索引/匹配可能会更好。
  • 嗨,我查找了索引匹配函数并提出了这个公式。看起来它可以工作,但目前还不行。目前返回的值只是表 1 中区域列的第一个条目,用于下面的所有行。假设“J2”表示Cell id 1在表2中的位置。 =INDEX(Table1[AREA],AND(MATCH(J2,Table1[CELL ID],0​​),MATCH(COVER A,Table1[EUNIS_desc],0 )))
  • 试试这个数组公式:=INDEX(Table1[AREA],MATCH(1,IF((Table1[CELL ID]=j2,0)*(Table1[EUNIS_desc]="COVER A"),1,0),0))) 作为一个数组,退出编辑模式时需要使用 Ctrl-Shift-Enter 确认而不是 enter。

标签: excel excel-formula vba


【解决方案1】:

假设“单元格 ID”在 Table1 的 A 列中,那么在 Table2 的单元格 B2 上,您将放置:

=SUMIFS(Table1!$C:$C,Table1!$A:$A,$A2,Table1!$B:$B,"Cover A")

您可以将其扩展到所有“单元 ID”,然后复制到所有类型的封面,只需将 SUMIFS 中的 criteria2 更改为每种不同的封面类型(即“封面 B”或“封面 C ")。

【讨论】:

  • 嗨,我试过用这个公式,但没有奏效。它会打开一个显示“更新值”的打开窗口弹出窗口。我导航到我所在的同一个文档,另一个弹出窗口来询问要从中更新表值的工作表。我选择了包含第一个表的工作表,但仍然每个块都带有#VALUE!。我注意到公式向下扩展每个单元格 ID 调用 A2 然后 A3 然后 A4 等...这是一个问题,因为在表 1 中每个单元格 id 有多个行条目。虽然有些有适用于所有封面类型的条目,但并非全部都有。
  • 如果某些单元格 ID 中没有封面类型,则不会列出该特定单元格中的封面类型。具有真假输出,例如我认为 false enter 0 是唯一的方法吗?
  • @H.Tan 弹出窗口可能是因为您复制并粘贴的公式与我提供的完全一样。您应该已将 Table1Table2 替换为对您的特定工作表的引用。当它向下扩展并将 A2 称为 A3 时,它所做的只是从 Table2 中引用该行所代表的单元 ID。然后,它将该单元 ID 用于匹配表 1 中相同单元 ID 的条件和。希望这可以为您澄清。问候,
  • 啊,我想因为我的表被称为“表 1”,所以它可以工作。为帮助喝彩。让它像这样工作; * #Headers 位只是单击标题名称而不是键入每个标题的结果 =SUMIFS(Table1[AREA],Table1[CELL_ID],F3,Table1[Coverage Description],Table2[[#Headers],[Cover A ]])
  • 很高兴你能够让它工作。除了我的表是Table1 没有空格并且也可能区分大小写(对此不确定)之外,它本来可以工作的。问候,
猜你喜欢
  • 2021-09-28
  • 1970-01-01
  • 2021-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多