我使用 MONTH 函式在 Google 表格查詢中按月對資料進行分組。但是,它回傳從 0 到 11 的月份編號,我更喜歡查看月份名稱。
這是查詢
=QUERY(DataAllMonths!A1:B, "SELECT MONTH(A), COUNT(A) WHERE LOWER(B) LIKE '%no empathy%' GROUP BY MONTH(A) LABEL MONTH(A) 'Month', COUNT(A) 'Total'", True)
這將回傳如下內容:

我最終撰寫了一個客戶函式來獲取 QUERY 的結果并將月份名稱替換為數字
=returnMonthName(QUERY(DataAllMonths!A1:B, "SELECT MONTH(A), COUNT(A) WHERE LOWER(B) LIKE '%no empathy%' GROUP BY MONTH(A) LABEL MONTH(A) '', COUNT(A) ''", True), 1)
這顯示了以下結果

這是腳本
function returnMonthName(data, col) {
// var data = [[1, 100], [2, 200], [3, 300]];
// var col = 1;
var months = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
var retArray = [["Month","Total"]];
var total = 0;
// var retArray = [];
var n = 0;
var dataLen = data.length;
for (n = 0; n < dataLen; n ) {
retArray.push([months[data[n][0]], data[n][1]]);
total = data[n][1];
}
retArray.push(["Total", total]);
return retArray;
}
我相信有一種方法可以做到這一點,而不依賴于自定義函式,也許使用陣列公式。有沒有人有解決方案。

并將列的格式更改為 MMM

參考
一個月
uj5u.com熱心網友回復:
試試這個:
function lfuncko(m) {
return [...Array.from(Array(12).keys(), x => Utilities.formatDate(new Date(2022, x, 15), Session.getScriptTimeZone(), "MMM"))][m]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/473318.html
