已阅读 stackoverflow.com 中的以下问题,但没有帮助:
1. Excel公式-INDEX(MATCH())的行为不一致
2. excel-为什么Application.Match()不一致?
3. Excel索引匹配的不可预测的输出
4. Excel匹配(小于)函数的行为不一致
5. excel-为什么Application.Match()不一致?
6.工作表功能-Excel中返回的公式不一致
我需要了解并纠正在电子表格的不同MATCH
中使用match_type
1
时LOOKUP_ARRAY
函数不一致行为的原因>
为进一步阐明问题,我在match
match_type
的{{1}}函数的相关描述下粘贴了以下内容:
1
:Match-type
或省略行为:
1
查找小于或等于MATCH
的最大值。lookup_value
参数中的值必须按升序排列
当我执行以下操作时:
lookup_array
以上结果是正确的,我不质疑它们。
在链接中的简单电子表格中,我在四个范围内重现了匹配功能Command Result
---------------------------------------------
=CORRESP(96;{0;91,2;92,8;94,4;96};1) 5
=CORRESP(72;{0;69;70;71;72};1) 5
的用法:=MATCH(LOOKUP_VALUE,LOOKUP_ARRAY,1)
,PVc
,PV
和TPDc
,并且在几个单元格中使用不同的值,但是仅在TPD
LOOKUP_VALUE
和72
中的LOOKUP_ARRAYS
TPDc
会出现问题。
我相信该问题已在链接的Excel文件中明确说明。
答案 0 :(得分:1)
存储在Excel工作表中的值存在问题。如果我下载并解压缩(只需将*.xlsx
重命名为*.zip
),则在xl/worksheets/sheet1.xml
文件中将包含以下内容:
<row r="9" spans="1:26">
<c r="A9" s="3" t="s">
<v>8</v>
</c>
<c r="B9" s="5">
<v>0</v>
</c>
<c r="C9" s="5">
<v>67.833333333333314</v>
</c>
<c r="D9" s="5">
<v>68.666666666666643</v>
</c>
<c r="E9" s="5">
<v>69.499999999999972</v>
</c>
<c r="F9" s="5">
<v>70.3333333333333</v>
</c>
<c r="G9" s="5">
<v>71.166666666666629</v>
</c>
<c r="H9" s="5">
<v>71.999999999999957</v>
</c>
<c r="I9" s="5">
<v>71.999999999999957</v>
</c>
<c r="J9" s="5">
<v>71.999999999999957</v>
</c>
...
</row>
我不知道您的excel是如何创建的,但是显然存储的数字不准确。
只需尝试转到单元格H9
并键入 7 2 Enter 。然后重新计算单元格H10
和H11
并包含预期的结果。
正如圣安修伯爵夫人所建议的那样:
本质上是肉眼看不见的。
换句话说,如果您认为Excel给您带来意想不到的结果,请始终进行深入研究:)您可能会看到另一个奇怪的行为示例,该问题可以通过相同的方式解决:https://stackoverflow.com/a/49731873/2886891