首页 > 解决方案 > 谷歌表格公式加载起来要重得多

问题描述

使用以下公式计算日期之间的叶子。该公式有时会给出结果,有时工作表保留会导致重新加载工作表的错误。

我认为这个公式计算起来要重得多。

我附上了一张公式有效的表格。

寻找一种更简单的方法或公式来进行以下公式的计算。您的帮助将不胜感激。

=ArrayFormula(IFERROR(1/(1/(IF(B3:B="",,LEN(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IF(
 IFERROR(VLOOKUP(ROW(Jan!A3:A), {ROW(Jan!A3:A), Jan!C3:AG, Feb!C3:AE, Mar!C3:AG, Apr!C3:AF, May!C3:AG, Jun!C3:AF, Jul!C3:AG, Aug!C3:AG, Sep!C3:AF, Oct!C3:AG, Nov!C3:AF, Dec!C3:AG}, 
 IF(1=SPLIT(REPT("01", DATE(YEAR(E3:E), MONTH(E3:E)+6, DAY(E3:E))-("01/01/2020"-1)), 0), COLUMN(B:AAA), )*1, 0))<>"C", 
 IFERROR(VLOOKUP(ROW(Jan!A3:A), {ROW(Jan!A3:A), Jan!C3:AG, Feb!C3:AE, Mar!C3:AG, Apr!C3:AF, May!C3:AG, Jun!C3:AF, Jul!C3:AG, Aug!C3:AG, Sep!C3:AF, Oct!C3:AG, Nov!C3:AF, Dec!C3:AG}, 
 IF(1=SPLIT(REPT("01", DATE(YEAR(E3:E), MONTH(E3:E)+6, DAY(E3:E))-("01/01/2020"-1)), 0), COLUMN(B:AAA), )*1, 0)), )),,9^9))), " ", )))))))

https://docs.google.com/spreadsheets/d/1pgVGJxkw39uelgPU9ceZLXflnP8KaFGou4rJfSsfVXc/edit#gid=0

错误。 在此处输入图像描述

标签: arraysgoogle-sheetsgoogle-sheets-formula

解决方案


经检查,您的公式似乎没有任何问题。而且我看到比这更糟糕的公式仍然在大型数据集上正常运行,所以我确实检查了数据本身。

问题

  • 您要与Sheet1E进行比较的月表中的天G数只是整数/数字,导致COUNTIFS调用具有错误条件。

修复

  • 将所有工作表第一行中的整数/天数转换为日期格式。

我刚刚将所有工作表中的全天单元格转换为日期,并以自定义日期格式将它们显示为仅一天(以显示与工作表相同的格式)。通过这样做,您可以COUNTIFS正常运行并返回正确数量的叶子。

格式

仅在单元格中显示为天但包含日期值

样本数据

预期结果正在匹配

样本输出

虽然,你错误地算作Employee5as1而不是4


推荐阅读