我想通過每隔 5 個字符拆分一個字串來將一個單元格值拆分為多行。
示例:在下面的示例(螢屏截圖)中,我們有ABCDEFGHIJKLMNOPQRSTUVWXYZinA1和 inB1我希望在每 5 個字母后拆分字串。
我怎樣才能做到這一點?

uj5u.com熱心網友回復:
從您的google-apps-script標簽來看,當使用 Google Apps 腳本時,下面的示例腳本怎么樣?
示例腳本:
請將以下腳本復制并粘貼到 Google 電子表格的腳本編輯器中并保存該腳本。并且,請把自定義功能放到=SAMPLE(A1)一個單元格中。這樣,將結果值放入單元格中。
function SAMPLE(value) {
const v = [...value];
const res = [];
while (v.length > 0) {
res.push(v.splice(0, 5).join(""));
}
return res.join("\n");
}
或者,例如,如果您想將自定義函式用作=SAMPLE(A1)and =SAMPLE(A1:D5),那么下面的示例腳本怎么樣?
function output_(value) {
const v = [...value];
const res = [];
while (v.length > 0) {
res.push(v.splice(0, 5).join(""));
}
return res.join("\n");
}
function SAMPLE(values) {
return Array.isArray(values) ? values.map(r => r.map(c => output_(c))) : output_(values);
}
筆記:
例如,當您使用內置公式時,下面的公式如何?此公式假定
ABCDEFGHIJKLMNOPQRSTUVWXYZ單元格“A1”的文本。請把這個公式放在單元格中。=JOIN(CHAR(10),REGEXEXTRACT(A1,REGEXREPLACE(A1,"(.{0,5})","($1)")))
參考:
- Google 表格中的自定義函式
- 地圖()
- 拼接()
uj5u.com熱心網友回復:
function test() {
let s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let a = s.split("").slice();
let d = 0;
s.split("").forEach((r, i) => {
if (i > 0 && i % 5 == 0) {
a.splice(i d , 0, '\n');
}
});
Logger.log(a.filter(e => e).flat().join(""));
}
Execution log
8:20:25 PM Notice Execution started
8:20:24 PM Info ABCDE
FGHIJ
KLMNO
PQRST
UVWXY
Z
8:20:26 PM Notice Execution completed
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/431157.html
標籤:javascript 谷歌应用脚本 谷歌表格 excel公式
