Excel 使用INDEX-MATCH在两列中查找值并返回第三个值
我正在创建一个排序矩阵,其中a列有一个零件列表,第1行以yyyy/mm格式填充一年中的周数。我试图用汇总表中的数量数据填充此矩阵,其中每个零件的需求量按年度的周列出。在此汇总表中,A列列出了零件,B列列出了周,C列列出了数量 我一直在尝试编写一个Excel 使用INDEX-MATCH在两列中查找值并返回第三个值,excel,excel-formula,Excel,Excel Formula,我正在创建一个排序矩阵,其中a列有一个零件列表,第1行以yyyy/mm格式填充一年中的周数。我试图用汇总表中的数量数据填充此矩阵,其中每个零件的需求量按年度的周列出。在此汇总表中,A列列出了零件,B列列出了周,C列列出了数量 我一直在尝试编写一个=INDEX(MATCH(),MATCH())类型的公式,以便在A列和B列中的值分别与矩阵表上A列和第1行中的值匹配时获取C列的值,但只得到了#REF错误作为回报。在这一点上,我需要第二双眼睛。以下是公式: =索引(MRP!$C$1:$C$6400,匹配
=INDEX(MATCH(),MATCH())
类型的公式,以便在A列和B列中的值分别与矩阵表上A列和第1行中的值匹配时获取C列的值,但只得到了#REF错误作为回报。在这一点上,我需要第二双眼睛。以下是公式:
=索引(MRP!$C$1:$C$6400,匹配(A2,MRP!$A$2:$A$6400,0),匹配(B1,MRP!$B$2:$B$6400,0))
我这样做是正确的,还是需要另一种方法来代替?您得到了#REF
错误,因为您超出了要匹配的数组的范围。index函数接受两个参数和一个可选参数
INDEX(array, row_num, [column_num])
看看你的公式
=INDEX(MRP!$C$1:$C$6400,MATCH(A2,MRP!$A$2:$A$6400,0),MATCH(B1,MRP!$B$2:$B$6400,0))
是要匹配的数组MRP$C$1:$C$6400
获取行号。也许应该是MATCH(A2,MRP!$A$2:$A$6400,0)
匹配(A1…)
获取列号李>MATCH(B1,MRP!$B$2:$B$6400,0)
=MATCH(lookup_value_1 & lookup_value_2, lookup_array_1 & lookup_array_2, match_type)
就你的情况而言,它是
=MATCH(A1 & B1, MRP!$A$2:$A$6400 & MRP!$B$2:$B$6400, 0)
您需要使用Ctrl+Shift+Enter
提交公式,而不仅仅是按Enter
。这将获得列A和列B与单元格A1
和B1
匹配的行号
最后,您可以为其编制索引
=INDEX(MRP!$C$1:$C$6400,Result from above match,0)
您将收到#REF
错误,因为您超出了要匹配的数组的范围。index函数接受两个参数和一个可选参数
INDEX(array, row_num, [column_num])
看看你的公式
=INDEX(MRP!$C$1:$C$6400,MATCH(A2,MRP!$A$2:$A$6400,0),MATCH(B1,MRP!$B$2:$B$6400,0))
是要匹配的数组MRP$C$1:$C$6400
获取行号。也许应该是MATCH(A2,MRP!$A$2:$A$6400,0)
匹配(A1…)
获取列号李>MATCH(B1,MRP!$B$2:$B$6400,0)
=MATCH(lookup_value_1 & lookup_value_2, lookup_array_1 & lookup_array_2, match_type)
就你的情况而言,它是
=MATCH(A1 & B1, MRP!$A$2:$A$6400 & MRP!$B$2:$B$6400, 0)
您需要使用Ctrl+Shift+Enter
提交公式,而不仅仅是按Enter
。这将获得列A和列B与单元格A1
和B1
匹配的行号
最后,您可以为其编制索引
=INDEX(MRP!$C$1:$C$6400,Result from above match,0)
我会用SUMIFS。在第二张工作表中创建一个月号为的帮助器列,然后使用
=SUMIFS(sheet2!column C, sheet 2!helper column, month(sheet1!A$1),sheet2! column A, sheet1!$A1)
我会用SUMIFS。在第二张工作表中创建一个月号为的帮助器列,然后使用
=SUMIFS(sheet2!column C, sheet 2!helper column, month(sheet1!A$1),sheet2! column A, sheet1!$A1)
B2单元
=SUMIFS(MRP!$C:$C,MRP!$A:$A,表1!$A3,MRP!$B:$B,表1!B$1)
然后,您可以向下和跨单元格复制这些内容。单元格B2
=SUMIFS(MRP!$C:$C,MRP!$A:$A,表1!$A3,MRP!$B:$B,表1!B$1)
然后,您可以向下和横向复制这些内容。这感觉很接近,尽管在您建议的公式的第一步中,我仍然遇到了一个
\NA
错误(即使在使用Ctrl+Shift+Enter提交后也是如此)。将公式分解为索引(MATCH())
,我得到如下结果:=INDEX(MRP!C2:C6400,MATCH(A2,MRP!A2:A6400,0))
返回该零件列出的第一个数量值<代码>=索引(MRP!C2:C6400,匹配(B1,MRP!B2:B6400,0))返回该yyyy/ww日期列出的第一个数量值。最终目标是优化搜索,以便在特定的yyyy/ww日期获得该零件的具体数量。请尝试这一行=匹配(A1&B1,MRP!$A$2:$A$6400&MRP!$B$2:$B$6400,0)
。这意味着要得到你想要的东西,这一行符合这两个标准。我仍然得到一个#值错误(使用Ctrl+Shift+Enter
)。=索引(MRP!$C$1:$C$6400,匹配(A1&B1,MRP!$a$2:$a$6400&MRP!$B$2:$B$6400,0)
你就是这么做的吗?在执行Ctrl+Shift+Enter
之后,是否看到此代码周围的{}
?确保您的数据已经存在于这些列中。这感觉很接近,尽管我仍然在您建议的公式的第一步中遇到了一个#NA
错误(即使在使用Ctrl+Shift+Enter
提交之后)。将公式分解为索引(MATCH())
,我得到如下结果:=INDEX(MRP!C2:C6400,MATCH(A2,MRP!A2:A6400,0))
返回该零件列出的第一个数量值<代码>=索引(MRP!C2:C6400,匹配(B1,MRP!B2:B6400,0))
返回该yyyy/ww日期列出的第一个数量值。最终目标是优化搜索,以便在特定的yyyy/ww日期获得该零件的具体数量。请尝试这一行=匹配(A1&B1,MRP!$A$2:$A$6400&MRP!$B$2:$B$6400,0)
。这意味着要得到你想要的东西,这一行符合这两个标准。我仍然得到一个#值错误(使用Ctrl+Shift+Enter
)。=索引(MRP!$C$1:$C$6400,匹配(A1&B1,MRP!$a$2:$a$6400&MRP!$B$2:$B$6400,0)
你就是这么做的吗?在执行Ctrl+Shift+Enter
之后,是否看到此代码周围的{}
?确保这些列中已经存在您的数据。