我有一个电子表格,该电子表格包含3个工作表:一个用于按月购买饮料,一个用于按月购买水果,以及一个要在其中显示其他2个表中数据摘要的主表。
我想做的是根据餐厅名称(Col A),水果或饮料类型(Col B)和月份(行2)在正确的单元格中显示数据。因此,例如,如果1月18日餐厅1的果汁费用为20欧元,我希望主表在单元格C6中显示20欧元(请参阅下面的电子表格)。我尝试了不同的索引匹配,求和和数组公式,但无法正确完成。
我曾尝试研究解决方案,但找不到适合我具体情况的任何东西。我希望有一个人可以帮助我!
在这里您可以找到共享的电子表格,可以随时进行试用并根据自己的喜好进行编辑。
https://docs.google.com/spreadsheets/d/1O3PhzAg1qRPGGHBTlphCETEBDJg8sZrVW0rVmghbVCM/edit?usp=sharing
谢谢!
答案 0 :(得分:0)
手动操作很容易。对于示例
如果1月18日的餐厅1的果汁费用为20欧元,则我需要母版纸 在单元格C6中显示20€
只需将=Beverages!C7
放在C6中即可。
您可以为所有gen-18
手动执行此操作,然后使用剩余月份的自动填充功能将它们水平拖动。enter code here
答案 1 :(得分:0)
这里只是饮料的建议:
=index(Beverages!$C:$L,match($B4,index(Beverages!$B:$B,match(index($A:$A,match("zzz",$A$1:index($A:$A,row()),1)),Beverages!$A:$A,0)):Beverages!$B$100,0)+match(index($A:$A,match("zzz",$A$1:index($A:$A,row()),1)),Beverages!$A:$A,0)-1,match(C$2,Beverages!$C$2:$L$2,0))
修改
这可以简化(不需要索引之一)
=index(Beverages!$C:$L,match($B4,index(Beverages!$B:$B,match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)):Beverages!$B$100,0)+match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)-1,match(C$2,Beverages!$C$2:$L$2,0))
说明
(1)查找您当前正在处理的餐厅:
index($A:$A,match("zzz",$A$1:$A4,1))
它仅向下搜索到当前行,直到它在A列中找到的最后一个非空白单元格。
(2)在“饮料”表中找到该餐厅的起始行:
match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)
(3)现在匹配饮料表中的饮料名称:
match($B4,index(Beverages!$B:$B,match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)):Beverages!$B$100,0)
(4)但您仍然必须重新添加搜索的起始位置(因为您没有从顶部开始):
match($B4,index(Beverages!$B:$B,match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)):Beverages!$B$100,0)+match(index($A:$A,match("zzz",$A$1:$A4,1))
这整个过程在饮料表中提供了您想要的行。
(5)只需匹配第2行中的相应月份,即可在饮料表中获得该列。
match(C$2,Beverages!$C$2:$L$2,0)
(或者,如果几个月相匹配,您可能只需花些时间即可。)
因此,饮料和水果的整个过程都是
=iferror(index(Beverages!$C:$L,match($B4,index(Beverages!$B:$B,match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)):Beverages!$B$100,0)+match(index($A:$A,match("zzz",$A$1:$A4,1)),Beverages!$A:$A,0)-1,match(C$2,Beverages!$C$2:$L$2,0))
,index(Fruit!$C:$L,match($B4,index(Fruit!$B:$B,match(index($A:$A,match("zzz",$A$1:$A4,1)),Fruit!$A:$A,0)):Fruit!$B$100,0)+match(index($A:$A,match("zzz",$A$1:$A4,1)),Fruit!$A:$A,0)-1,match(C$2,Fruit!$C$2:$L$2,0)))