【问题标题】:How do you make a cell return one of a list of values based on a comparison of two other cells in Google Sheets?如何根据 Google 表格中其他两个单元格的比较,使单元格返回值列表之一?
【发布时间】:2019-12-10 03:25:49
【问题描述】:
我为 Pokemon 制作了一个包含类型匹配的电子表格。在 A1 中有一个攻击类型的下拉菜单,在 B1 中有一个防守类型。我想让C1吐槽一下比赛的效率类型。我最初的想法是让 C1 将 A1 与 B 列中与其值匹配的单元格进行比较,例如,如果 A1="Bug" C1 会找到 B3,然后 C1 会将 B1 与第 2 行中与其值匹配的单元格进行比较,例如,如果 B1="Dark" C1 会找到 D2。然后我会让 C1 返回 D3 中的值,即您通过查看 D 列和第 3 行找到的值。
如何在工作表中做到这一点?
【问题讨论】:
标签:
arrays
google-sheets
match
google-sheets-formula
【解决方案1】:
尝试:
=INDIRECT(ADDRESS(MATCH(A1, B2:B, 0)+1, MATCH(B1, 2:2, 0), 4))
【解决方案2】:
你有一个值矩阵,每行和每列都有描述符。您想为每个水平轴和垂直轴命名一个描述符,并返回行和列交叉处的值。
以下公式(在单元格 C3 中输入)将返回值。
=index($C$3:$G$7,(match(A1,$B$3:$B$7,0)),(match(B1,$C$2:$G$2,0)))
注意:我的测试数据跨越“$C$3:$G$7”;您需要为您的数据扩展它。
答案同时使用match 和index:
-
match(A1,$B$3:$B$7,0):这会查找攻击类型(在单元格 A1 中),然后在 B 列中返回匹配的行号
-
match(B1,$C$2:$G$2,0):这会查找防御类型(在单元格 B1 中),然后返回第 2 行中匹配的列号
-
INDEX:索引的语法是“INDEX(reference, [row], [column])”。行和列已由匹配语句提供。 “参考”是数据矩阵。结果是行列交叉处的值。
在这种情况下,Attacking Type="BUG" 和 Defending Type="Dark" 将产生“2x”的结果。