【问题标题】:excel table row column lookupexcel表格行列查找
【发布时间】:2016-01-30 02:43:37
【问题描述】:

我正在为一些 Excel 功能而苦恼。

我有一个表,其中包含行标题和列标题,然后是数据。例如: 如果我有一种披萨,与它的大小交叉,数据就是价格。

               S    M      L    XL
 Cheese        6    6.5    8    10
 Pepperoni     6.5  7.5    10   12
 Supreme       8    9      12   15

如果我在 excel 中有这张表,如果我知道我想要“Cheese”、“M”,我该如何查找价格?

行和列标题将是文本,不一定是任何类型的排序顺序。

谢谢!!

【问题讨论】:

标签: excel excel-formula


【解决方案1】:

使用索引匹配:

=INDEX(A:E,MATCH("Cheese",A:A,0),MATCH("M",1:1,0))

使用单元格中的数据进行调用,因此它是动态的:

假设在 F1 中你有 Cheese,在 G1 中你有 M

=INDEX(A:E,MATCH(F1,A:A,0),MATCH(G1,1:1,0))

索引公式的第一部分是搜索范围。在这种情况下,A 到 E 列是完整的。

第二部分表示哪一行。匹配在 A 列中找到“Cheese”的第一个实例并返回该行。

第三部分表示列。该匹配在第 1 行中找到“M”并返回列号。

现在索引,使用这些坐标,知道要返回什么。

【讨论】:

  • 这主要是工作,谢谢!我遇到麻烦的部分。如果我用包含字符串“Cheese”的单元格引用替换“Cheese”,它不再找到匹配项。我很确定没有奇怪的字体/格式问题。反正我都看不到
  • @WithoutMeItJustAweso 字符串是否有引号?它不应该。查看修改
  • @WithoutMeItJustAweso 也许某些单元格中有多余的空格?我添加了一张图片来展示它的工作原理。单元格中必须有不可打印的字符才能使其不起作用。
  • 看起来我仍然有一些偷偷摸摸的不可打印的字符,让它工作。出于好奇,有没有办法做一个“包含”而不是直接匹配,这样尾随空格之类的东西就无关紧要了?
  • @WithoutMeItJustAweso 是的,您可以像 "*" & F1 &"*" 这样包装每个查找值,但您要小心,因为它现在会找到第一个包含该字符串的值。例如,如果您在Pepperoni 之前有Pepperoni & Sausage,它将抢占第一个。尽可能进行精确查找总是更好。
【解决方案2】:

根据需要调整您的范围引用($A$2:$E$4 包含表数据,$A$1:$E$1 是您的标题 - 在这种情况下是大小)。您还可以将“Cheese”和“M”替换为单元格引用。

=VLOOKUP("Cheese",$A$2:$E$4,Match("M",$A$1:$E$1,0),FALSE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-21
    • 2017-12-31
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多