表1,工作表a
+-----------+------------+-----------+------------------------+
| recipient | activity | funding a | funding b from table 2 |
+-----------+------------+-----------+------------------------+
| group 1 | basketball | 200 | |
+-----------+------------+-----------+------------------------+
| group 1 | soccer | 80 | |
+-----------+------------+-----------+------------------------+
| group 2 | soccer | 18 | |
+-----------+------------+-----------+------------------------+
| group 3 | tennis | 35 | |
+-----------+------------+-----------+------------------------+
表2工作表b
+-----------+------------+-----------+
| recipient | activity | funding b |
+-----------+------------+-----------+
| group 1 | basketball | 100 |
+-----------+------------+-----------+
| group 1 | soccer | 50 |
+-----------+------------+-----------+
| group 2 | soccer | 25 |
+-----------+------------+-----------+
| group 3 | tennis | 30 |
+-----------+------------+-----------+
我的目标是将表2工作表b中“资金b”列中的值插入表1工作表a中。请记住,这是一个简化的表,并且值在我的原始工作表中是无序的。
我尝试在表1的'表2的资金b中输入以下内容,并出现错误:
=INDEX(table2[funding b],MATCH(1,([@[recipient]]=table2[Recipient])&([@[funding a]]=table2[fundingb]),0))
我不确定如何继续进行操作,因此使用公式或强大的查询功能将不胜感激任何帮助或提示。
谢谢
如果我理解正确,您需要通过搜索收件人和活动来在第二张表中找到合适的资金。如果是这样,如果收件人和活动的组合是唯一的,则可以使用SUMPRODUCT
功能:
=SUMPRODUCT(([@recipient]=Table2[recipient])*([@activity]=Table2[activity])*Table2[funding b])
如果不是唯一的,则使用INDEX
/ MATCH
作为数组公式来返回找到的第一个值:
=INDEX(Table2[funding b],MATCH(1,([@recipient]=Table2[recipient])*([@activity]=Table2[activity]),0))
通过按ctrl
+shift
+ enter
确认编辑后的数组公式>
替代方法(远没有@basic的答案有效。)在表2中使用列助手。我们使用: