【发布时间】:2020-03-27 22:20:51
【问题描述】:
我已经为此苦苦挣扎了一天,找不到问题所在。
我正在为 SQL 导入重新创建一个表,因此我需要从表 1 创建一个唯一行列表以具有行结构。 我可以通过两列(ID_concept、ID_country)识别唯一行,然后按年份的行(ID_year - 顶行 7、8、9、10...44)找到唯一值。
源表如下所示:Source table
为了获取单行中的值,我创建了第二个表来使用多个索引/匹配组合,每行写入值。看起来像这样:Desired table for SQL import
在值列中,我使用以下 INDEX/MATCH 公式查找数据:
{=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 中复制公式时,它会填充值列中的所有值字段,但某些值复制错误。 MATCH 函数中 ID_concept 和 ID_country 的组合应始终导致唯一的行。我已经单独检查了 MATCHES,并且列匹配总是很好。不幸的是,行匹配(使用 & 语句)在少数情况下会返回错误的行号(例如,32 而不是 395,输入值 11 和 41 并返回 1 和 140 的行)。
值范围: ID_concept:1-38,ID_country:1-190,年:7-44,源表2812x38, SQL 表 106 856 行
知道为什么多个条件 MATCH 返回错误的行信息吗?
谢谢
【问题讨论】:
-
好吧,我最终将这些列硬拷贝到另一张纸上(浪费了 20 分钟,而编写了一项基本任务需要 1 天)。但仍然希望将来使用为什么 +/-2800 中的 99 行号显示错误。
-
确保公式中的“相对地址”正在改变您在工作表中复制/填写公式时所需的方式。
-
已检查,这是正确的。在非重复模式中,它会抛出一个完全不同的数字。所有数据的单元格格式也相同。
-
您没有在问题中提供足够的信息,我无法重现您的问题。但只要你找到了解决办法...
-
我将尝试在此处包含简化版的表格。
标签: excel indexing match criteria