Excel匹配函数产生不一致的结果

时间:2018-10-16 14:25:20

标签: excel excel-formula

已阅读 stackoverflow.com 中的以下问题,但没有帮助:
1. Excel公式-INDEX(MATCH())的行为不一致
2. excel-为什么Application.Match()不一致?
3. Excel索引匹配的不可预测的输出
4. Excel匹配(小于)函数的行为不一致
5. excel-为什么Application.Match()不一致?
6.工作表功能-Excel中返回的公式不一致

我需要了解并纠正在电子表格的不同MATCH中使用match_type 1LOOKUP_ARRAY函数不一致行为的原因

为进一步阐明问题,我在match match_type的{​​{1}}函数的相关描述下粘贴了以下内容:

  

1Match-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)PVcPVTPDc ,并且在几个单元格中使用不同的值,但是仅在TPD LOOKUP_VALUE72中的LOOKUP_ARRAYS TPDc会出现问题。

我相信该问题已在链接的Excel文件中明确说明。

https://1drv.ms/x/s!AlpItI7re-Sdi_NP8XD-TVxkPXVbhw

1 个答案:

答案 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 。然后重新计算单元格H10H11并包含预期的结果。

正如圣安修伯爵夫人所建议的那样:

  

本质上是肉眼看不见的。

换句话说,如果您认为Excel给您带来意想不到的结果,请始终进行深入研究:)您可能会看到另一个奇怪的行为示例,该问题可以通过相同的方式解决:https://stackoverflow.com/a/49731873/2886891