我想做一個谷歌表格,它將自動計算一個設備每個月有多少天在維修。
我需要它在列中計算日期,并在不同的列行中發布結果,因為會有一個不斷有新條目的串列
。例如。 設備|開始日期|結束日期。
筆記本電腦| 8/29/2021| 9/10/2021。8月有2天,9月有10天
所期望的結果是,它將會是一個新條目。
所需的結果將是在2欄中,第1欄為第1個月,第2欄為第2個月
。我設法找到了這個公式。 =ArrayFormula(query({EOMONTH(row(indirect("A"&A2):indirect("A"&B2)),0),row(indirect("A"&A2):indirect("A"&B2))}, "選擇Col1, Count(Col2) group by Col1 label Col1 'month', count(Col2) ' Days in Month' format Col1 'MMMM-YYY' ") />p>
但是我不能在串列頁中使用它。如果有任何想法,我們將不勝感激
uj5u.com熱心網友回復:
=arrayformula(
split(
join(
"",
flatten(
查詢(
"day in " & text(sequence(C2 - B2 1, 1, B2), "mmm→")。
"選擇 count(Col1), Col1 group by Col1 label count(Col1) '' "。
0
)
)
),
"→"
)
)
uj5u.com熱心網友回復:
如果你能為每個月有一個公式,那么這將是可行的。
第一個輸出列
在你的例子中,B列將是開始日期,D列將是輸出:
=ARRAYFORMULA(
EOMONTH(B2:B, 0)-B2:B &" days in " & Text(B2:B, "mmm")
)
解釋 - EOMONTH() 給你所選月份的最后一天。 因此,這個作業是通過獲得該月的最后一天,減去開始日期,給你該月的天數。
為了得到一個月的文本字值,你使用TEXT()函式將資料轉換為一個月。 'mmm'給出八月,'mmm'給出八月,而'mm'則回傳該月的數字。
然后你將這些資料與 "天數 "文本連接起來,并將其包裹在一個ARRAYFORMULA()中。
第二個輸出列
與第一個類似,但數學上有些不同。
=Arrayformula(
Text(C2:C, "dd") & " days in " & Text(C2:C, "mmm")
)
解釋--這里你得到的是本月的天數。 由于九月的天數等于日期。 所以,你用TEXT()和'dd'得到該月的數字,并將其與你的文本和該月的文本值連接起來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/320531.html
標籤:
下一篇:谷歌腳本超時

