Excel-获得#VALUE!仅一次。所有其他人都很好

时间:2018-10-19 15:06:44

标签: arrays excel

背景: 我的一个客户将建筑物租给不同的公司,并读取电表和水表的读数,以便根据使用情况向公司收费。

然后创建发票,指定发票的开始和结束月份,以便从所选月份的相应列中检索读数。

我在Excel中具有以下公式:

{=IFERROR(INDEX(Invoice_Sheet_Readings, SMALL(IF(Invoice_Sheet_Readings=$D$63, ROW(Invoice_Sheet_Readings)-25),ROWS($G$68:G68)), MATCH($D$63,$F35:$CC35,0)+1), "")}

位置:

  • Invoice_Sheet_Readings是从中检查和检索数据的单元格区域(图像中的灰色区域)

    • $D$63是“月份和年份”(例如,从下拉列表中选择-例如2017年12月)-图像中较深的绿色区域

它的作用是-将月份和年份(例如,2017年12月)与其在范围(灰色单元格)中的等效年份进行比较,并填充要用于发票计算的表格(绿色区域)。绿色区域是我拥有此公式的地方。

问题: 一切正常,除了一个实例。

因此,当选择电表时,所有数据检索对于每个租户都适用。

选择水表后,除一个租户外,所有租户的数据检索工作都很好。

当我为所有租户都能正常工作的租户评估公式时,它将获取行号,然后进行匹配并从适当的列中检索数据。

以租户所在的问题为例,在评估时显示它似乎与行号匹配,然后给出#VALUE!错误。

我完全困惑。根本解决不了。

已更新:罪魁祸首有一条特定的线(在图9中突出显示)。如果我将其分配给另一个租户,则新租户的水读数计算将显示相同的错误,而原来的租户的计算现在可以正常工作。

Image 1: Data of Electricity meters (grey areas) - no problems here

Image 2: Data of Water meters where data retrieval from the formula works

列中的重复月份用于与从下拉列表中选择的月份进行比较(下图中较暗的绿色区域)

Image 4: Above formula working well

Image 5: Formula evaluation where formula is working well. The '1' shown between the green dots refers to the row the data has been found in.

Image 6: The only instance where the formula is not working, and thus no data has been retrieved.

Image 7: The error shown in the formula evaluation. This is only for the Water readings of ONE tenant. The same tenant's electricity readings work fine.

Image 8: Formula evaluation showing the beginning of the formula and the end of the formula one step before giving the VALUE error. The other cases evaluate in the same way without errors.

Image 9: (Updated) The line that is the culprit - but I still don't know why.

0 个答案:

没有答案