給定特定的列集,我正在尋找一種在COUNTIF流程中或之后將紅色單元格變為空白單元格的方法。
我用來獲得(部分)正確答案的公式是:
=ARRAYFORMULA(IF(A2:A="",,IF(NOT(REGEXMATCH(TO_TEXT(B2:B), "\-")),
COUNTIFS(A2:A&D2:D, A2:A&D2:D, ROW(A2:A), "<="&ROW(A2:A)), )))

這是我的作業表的副本:- CC -
- 將黃色單元格視為 ID 的 RESET/TERMINATION
- 每次重置后,ID 都會升級(E 列)
- E 列只是更好地可視化的助手 - 它不是資料集的一部分
- 列未排序,甚至可能未分組
uj5u.com熱心網友回復:
當我復制您的作業表(提供的唯一選項)時,Col B 中的負數實際上都是文本。因此,我沒有從 Col A 中的原始資料回溯到執行此操作的最佳方法。相反,我只是與 Cols A:D 合作,因為您目前擁有它們(盡管我懷疑您不需要幫助者)和使用您撰寫的原始“關閉”公式。
也就是說,這應該可以提供您想要的結果,如下所示:
=ArrayFormula({"DESIRED OUTPUT";IF(A2:A="",,IF(VLOOKUP(A2:A&"~"&COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A))-1,{SPLIT(UNIQUE(A2:A)&"~0|0","|");A2:A&"~"&COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A)),C2:C},2,FALSE)<>0,,IF(NOT(REGEXMATCH(TO_TEXT(B2:B), "\-")), COUNTIFS(A2:A&D2:D, A2:A&D2:D, ROW(A2:A), "<="&ROW(A2:A)), )))})
我的貢獻是這部分:
IF(VLOOKUP(A2:A&"~"&COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A))-1,{SPLIT(UNIQUE(A2:A)&"~0|0","|");A2:A&"~"&COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A)),C2:C},2,FALSE)<>0,, [most of your previous formula])
用簡單的英語來說,這會查找每個 ID 的最后一次出現。只有最后一次出現在 Col C 中的值為 0 時,才會顯示主公式的結果。
我堆疊SPLIT(UNIQUE(A2:A)&"~0|0","|")在實際ID~Row, Col C值之上,這樣任何 ID 的第一次出現仍然會找到 0 并且不會導致錯誤。(添加IFERROR會不必要地延長公式。)
注意 1:我在這里假設您原來的“關閉”公式按您的預期作業。我沒有在仔細審查下對其進行測驗。我只是將它插入到我的擴展公式中,以確定將結果放在哪里。
注2:通常,我不會在這些論壇上討論復雜的公式,純粹是因為時間和我一直很忙的事實。但是你在這個論壇上幫了很多忙,所以我很高興在這里投資你自己罕見的詢問。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/481092.html
上一篇:(谷歌表格)跳過錯誤/空白值
下一篇:使用XML電子表格獲取商品的價格
