![](/img/trans.png)
[英]Array Formula from Google Sheets to Excel INDEX MATCH MATCH
[英]Index Match in Array in Google Sheets
我有一个电子表格“数据库”,其中有两列,“国家”(A)和“公司”(B)。 国家编号从1到10。 公司标有字母。
电子表格跟踪在每个国家/地区运营的公司。 因此,在A列的国家1和B列的公司A的行表示公司A在国家1中运营。这是此电子表格的屏幕截图:
然后,我还有第二个电子表格,称为“公司国家/地区”,我想在其中列出公司运营所在的国家/地区。 我希望它们在“按国家(地区)”表的单元格B3开头的不同行中列出。 在同一工作表的B1单元格中应列出国家/地区的公司名称。 我认为必须使用ARRAY
版本的INDEX MATCH
函数来完成此操作,但是我似乎无法使其正常工作。
我在“按公司划分的国家”工作表的单元格B3中输入了以下公式: =INDEX(Database!$A$1:$B$76, MATCH($B$1, Database!$B$1:$B$76, 0), COLUMN(Database!A:A))
。 但是,正如预期的那样,它将仅返回单元格B1中公司在其中运营的第一个国家,而不会返回其他国家。 同样,我需要该公司运营所在的所有国家/地区与B3单元格不同。
我在这里设置了一个样本表。 我认为这可能会有所帮助,以防我不太清楚。
谢谢你的帮助!
使用FILTER
可以将“数据库”表上的值限制为仅与给定条件匹配的值:
=FILTER(Database!$A:$A, Database!$B:$B=$B$1)
产生Database
表上给定公司索引的每个国家/地区索引。 如果只需要国家索引值(例如1、3、6),而不是将这些索引值转换为假设的“国家DB”表中保存的名称或其他属性,则上述FILTER
足够了。
如果需要其他信息,则可以使用VLOOKUP
返回多个输入(即数组输入)的相应值:
B3: =ARRAYFORMULA(VLOOKUP(
FILTER('Database'!$A:$A, 'Database'!$B:$B=$B$1), // Searched values
'Country DB'!$A:$B, // Database sheet having more country information (like name, gdp, ...)
2, // Column of the desired information
FALSE))
将在“国家/地区数据库”表中每个相应的国家/地区索引行中产生第二列:
尝试使用过滤器
=filter(Database!A2:B,Database!A2:A=B1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.