我希望将突出显示颜色的单元格移动到不同 sheet
I'm looking to move cells with color highlighted to different sheet
我希望将以特定颜色突出显示的单元格复制到一列中的不同 sheet。
你能帮我写脚本以获得所需的输出吗?
我相信你的目标如下。
- 您想检索突出显示的单元格的值(从您提供的 Spreadsheet,它是
#ffff00
),并想将这些值放入目标 sheet.
- 您想使用 Google Apps 脚本实现此目的。
在这种情况下,下面的示例脚本怎么样?
示例脚本:
function myFunction() {
const srcSheetName = "Sheet1"; // This is from your sample Spreadsheet.
const dstSheetName = "Ouput"; // This is from your sample Spreadsheet.
const checkColor = "#ffff00"; // This is from your sample Spreadsheet.
// Retrieve sheets.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const [src, dst] = [srcSheetName, dstSheetName].map(s => ss.getSheetByName(s));
// Retrieve source values and backgrounds.
const srcRange = src.getDataRange();
const backgrounds = srcRange.getBackgrounds();
// Create an array for putting to the destination sheet.
const values = srcRange.getValues().reduce((ar, r, i) => {
r.forEach((c, j) => {
if (backgrounds[i][j] == checkColor) {
ar.push([c]);
}
});
return ar;
}, []);
// Put the array to the column "A" of the destination sheet.
dst.getRange(1, 1, values.length).setValues(values).setBackground(checkColor);
}
- 当此脚本为 运行 时,将从源 sheet 的突出显示单元格中检索值。并且,检索到的值被放入目标 sheet.
的列“A”
- 根据您的示例 Spreadsheet,目标 sheet 具有突出显示的单元格。所以,我添加了
setBackground(checkColor)
。如果不想设置颜色,请去掉。
参考文献:
我希望将以特定颜色突出显示的单元格复制到一列中的不同 sheet。
你能帮我写脚本以获得所需的输出吗?
我相信你的目标如下。
- 您想检索突出显示的单元格的值(从您提供的 Spreadsheet,它是
#ffff00
),并想将这些值放入目标 sheet. - 您想使用 Google Apps 脚本实现此目的。
在这种情况下,下面的示例脚本怎么样?
示例脚本:
function myFunction() {
const srcSheetName = "Sheet1"; // This is from your sample Spreadsheet.
const dstSheetName = "Ouput"; // This is from your sample Spreadsheet.
const checkColor = "#ffff00"; // This is from your sample Spreadsheet.
// Retrieve sheets.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const [src, dst] = [srcSheetName, dstSheetName].map(s => ss.getSheetByName(s));
// Retrieve source values and backgrounds.
const srcRange = src.getDataRange();
const backgrounds = srcRange.getBackgrounds();
// Create an array for putting to the destination sheet.
const values = srcRange.getValues().reduce((ar, r, i) => {
r.forEach((c, j) => {
if (backgrounds[i][j] == checkColor) {
ar.push([c]);
}
});
return ar;
}, []);
// Put the array to the column "A" of the destination sheet.
dst.getRange(1, 1, values.length).setValues(values).setBackground(checkColor);
}
- 当此脚本为 运行 时,将从源 sheet 的突出显示单元格中检索值。并且,检索到的值被放入目标 sheet. 的列“A”
- 根据您的示例 Spreadsheet,目标 sheet 具有突出显示的单元格。所以,我添加了
setBackground(checkColor)
。如果不想设置颜色,请去掉。