簡體   English   中英

Google Sheet SUMIF Array 公式不起作用

[英]Google Sheet SUMIF Array formula doesnt work

在我的工作表中,我想計算達到某個值的天數。 我正在使用這個公式。 https://infoinspired.com/google-docs/spreadsheet/target-sum-reached-row-in-google-sheets/

對於幾個例子,它沒有問題,但這次我得到了錯誤的值...... :(

在我的例子中: https : //docs.google.com/spreadsheets/d/1MYYNZB94RdF21hg60-mERCy2hP48c8IhkprV-LBvZrs/edit?usp=sharing

在“這里”選項卡中,我想對單元格 F2:F315 求和,直到第一次達到值 120000(單元格 J9)。 輸出應該是“天”或單元格的總和。

作為輸出,我得到 265,即使它應該是 191 左右。

=countif(ArrayFormula(sumif(row(A2:A315),"<="&row(A2:A315),F2:F315)),"<="&J9)

為了仔細檢查,我做了一個輔助列,在 H 列中添加了收入(F 列)。根據這個輔助列,第一次達到 >120000 是在 H193

我就是不明白……也許我腦子里有邏輯錯誤?

除非我誤解了這個問題,否則我認為這個相當簡單的公式應該很快......對於實際日期:

=MIN(FILTER(A2:A,SUMIF(ROW(F2:F),"<="&ROW(F2:F),F2:F)>=J9))

對於天數:

=MIN(FILTER(A2:A,SUMIF(ROW(F2:F),"<="&ROW(F2:F),F2:F)>=J9))-A2+1

嘗試:

=ARRAYFORMULA(DAYS(INDIRECT(ADDRESS(MIN(IF(MMULT(TRANSPOSE((ROW(F2:F)<=
 TRANSPOSE(ROW(F2:F)))*F2:F), SIGN(F2:F)^0)>J9, ROW(A2:A), )), 1)), A2))

0


更新速度更快:

=ARRAYFORMULA(DAYS(INDIRECT(ADDRESS(MIN(IF(MMULT(TRANSPOSE((ROW(
 INDIRECT("F2:F"&COUNTA(F2:F)+1))<= TRANSPOSE(ROW(
 INDIRECT("F2:F"&COUNTA(F2:F)+1))))*
 INDIRECT("F2:F"&COUNTA(F2:F)+1)), SIGN(
 INDIRECT("F2:F"&COUNTA(F2:F)+1))^0)>J9, ROW(A2:A), )), 1)), A2))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM