gpt4 book ai didi

Excel 脚本 : getNumberFormat from column A to C

转载 作者:行者123 更新时间:2023-12-04 19:48:57 26 4
gpt4 key购买 nike

我需要从 excel 文件(大约 3000 行)中获取 NumberFormat,我编写了一个简单的脚本,逐行将其从 A 列复制到 C 列。 10 分钟后,我尝试将此脚本与 Power Automate 结合使用。

我已经将超时设置为 60 分钟,但似乎我的租户配置总是在恰好 10 分钟后中止它。

这是我的脚本:

    function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getWorksheets()[0]

let range = sheet.getUsedRange(true);
let rows = range.getUsedRange(true).getRowCount();
let cols = range.getUsedRange(true).getColumnCount();

for (let row = 2; row <= rows; row++) {
sheet.getRange("C" + row).setValue(sheet.getRange("A" + row).getNumberFormat())
}
}

有没有更简单的方法可以将 NumberFormat 从一列复制到另一列?有人知道更好的方法吗?

最佳答案

请确保在您提出这些问题时加上 Office-Scripts 标签,因为这是 Office Scripts。您无需循环即可实现此目的。您可以使用 getNumberFormats()就像下面的代码。

function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getWorksheets()[0];
let rowCount = sheet.getUsedRange(true).getRowCount();
let numFormats = sheet.getRange("A1:A" + rowCount).getNumberFormats();
let newRng = sheet.getRange("C1:C" + numFormats.length).setValues(numFormats);
}

编辑 21 年 4 月 23 日

如果您只想获取缩进级别,那么您可以将此公式插入 C 列而不是获取数字格式。

enter image description here

=IFERROR(LET(indentLevel,FIND("[",FILTER(A:A,A:A<>""),1),SWITCH(indentLevel,4,1,6,2,8,3,10,4,12,5)),"Other Formula Here")

这是Office脚本

function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getWorksheet("Sheet1");
sheet.getRange("C1")
.setFormulaLocal("=IFERROR(LET(indentLevel,FIND(\"[\",FILTER(A:A,A:A<>\"\"),1),SWITCH(indentLevel,4,1,6,2,8,3,10,4,12,5)),\"Other Formula Here\")");
}

关于Excel 脚本 : getNumberFormat from column A to C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67133213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com