Excel 多条件匹配/索引组合返回错误的行号

Excel 多条件匹配/索引组合返回错误的行号,excel,indexing,match,criteria,Excel,Indexing,Match,Criteria,我已经为此挣扎了一天,却找不到问题出在哪里 我正在为SQL导入重新创建一个表,因此需要从表1创建一个具有行结构的唯一行列表。 我可以通过两列(ID_概念、ID_国家)来识别唯一行,然后按年份行(ID_年份-顶行7,8,9,10…44)查找唯一值 源表如下所示: 为了获得单行中的值,我创建了第二个表,使用多个索引/匹配组合,每行写入值。看起来是这样的: 在值列中,我使用以下索引/匹配公式查找数据: {=INDEX(Sheet1!$C$2:$AN$2813;MATCH(Sheet2!A2&S

我已经为此挣扎了一天,却找不到问题出在哪里

我正在为SQL导入重新创建一个表,因此需要从表1创建一个具有行结构的唯一行列表。 我可以通过两列(ID_概念、ID_国家)来识别唯一行,然后按年份行(ID_年份-顶行7,8,9,10…44)查找唯一值

源表如下所示:

为了获得单行中的值,我创建了第二个表,使用多个索引/匹配组合,每行写入值。看起来是这样的:

在值列中,我使用以下索引/匹配公式查找数据:

{=INDEX(Sheet1!$C$2:$AN$2813;MATCH(Sheet2!A2&Sheet2!B2;Sheet1!$A$2:$A$2813&Sheet1!$B$2:$B$2813;0);MATCH(Sheet2!C2;Sheet1!$C$1:$AN$1;0))}
当我跨Sheet2复制公式时,它会填充“值”列中的所有值字段,但某些值复制错误。匹配函数中ID_概念和ID_国家的组合应始终导致一个唯一的行。我已经分别检查了匹配,列匹配总是很好。不幸的是,行匹配(使用&语句)在少数情况下返回错误的行号(例如,32而不是395,输入值11和41,并返回1和140的行)

值的范围: ID\u概念:1-38ID\u国家:1-190年份:7-44源表2812x38SQL表106 856行

知道为什么多个条件匹配返回错误的行信息吗


谢谢

不用公式,您可以使用
Power Query
(在Excel 2010或更高版本中提供)在Excel中轻松创建输出表

在2016+中,转到数据选项卡并选择从表/范围获取和转换。 在早期版本中,有一个由Microsoft提供的免费外接程序可供安装

那么这仅仅是一个问题

  • 选择前两列
  • unpivot其他列
  • 重命名结果
    属性
    列-->
    ID\u期间
    • 将此列的类型更改为
      整数
  • 如果愿意,可以根据需要依次选择第3列、第2列和第1列,对结果进行排序
以上所有操作都可以从UI中完成,但以下是生成的M代码,您可以将其粘贴到高级编辑器中,只需稍作更改:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID_concept", Int64.Type}, {"ID_country", Int64.Type}, {"7", type number}, {"8", type number}, {"9", type number}, {"10", type number}, {"11", type number}, {"12", type number}, {"13", type number}, {"14", type number}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"ID_concept", "ID_country"}, "Attribute", "Value"),
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "ID_Period"}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Renamed Columns",{{"ID_Period", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type1",{{"ID_Period", Order.Ascending}, {"ID_country", Order.Ascending}})
in
    #"Sorted Rows"

好吧,最后我把这些列硬拷贝到了另一张纸上(编码一项基本任务的时间减少了20分钟,而编码一天)。但仍希望将来使用+/-2800中的99行数字显示错误。请确保公式中的“相对地址”在复制/填写表格中的公式时正在改变您需要的方式。选中,这是正确的。在非重复模式中,它抛出一个完全不同的数字。所有数据的单元格格式也是相同的。您的问题中没有提供足够的信息,我无法重现您的问题。但只要你们找到了一个解决方案……我将尝试在这里包含一个简化版的表。