0

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

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

我在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 月)与范围内的对应值(灰色单元格)进行比较,并填充表格(绿色区域)以用于发票计算。绿色区域是我有这个公式的地方。

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

So, when Electricity meters are selected, ALL data retrieval works well for every tenant.

选择水表后,数据检索适用于除一个以外的所有租户。

当我为那些一切正常的租户评估公式时,它会获取行号,然后匹配并从相应的列中检索数据。

在问题所在的租户实例中,在评估它时显示它好像要匹配行号,然后给出#VALUE!错误。

我完全感到困惑。根本想不通。

更新:有一个特定的行(在图 9 中突出显示)是罪魁祸首。如果我将它分配给另一个租户,新租户的水读数计算会显示相同的错误,而原始租户的计算现在运行良好。

图 1:电表数据(灰色区域)——这里没有问题

图 2:从公式中检索数据的水表数据

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

图 4:上述公式运行良好

图 5:公式运行良好的公式评估。绿点之间显示的“1”是指数据所在的行。

图 6:公式不起作用的唯一实例,因此没有检索到数据。

图 7:公式评估中显示的错误。这仅适用于 ONE 租户的水读数。同一租户的电力读数工作正常。

图 8:在给出 VALUE 错误前一步显示公式开始和公式结束的公式评估。其他情况以相同的方式进行评估,没有错误。

图 9:(更新)是罪魁祸首的线 - 但我仍然不知道为什么。

4

0 回答 0