生成AIプロンプト研究所チャプロ
  • エンジニア検定
  • 記事
  • セミナー
  • プロンプト
  • 便利サービス
無料登録
menu
ホームプロンプト行削除 + Ctrl + Alt + Shift + 1 → 上のセルに文章合成プロンプト
通常プログラミング

行削除 + Ctrl + Alt + Shift + 1 → 上のセルに文章合成プロンプト

松
松井二郎

Ctrl + Alt + Shift + 1 → 上のセルに文章合成

プロンプト本文

function onOpen() {
const ui = SpreadsheetApp.getUi();
const menu = ui.createMenu('カスタムメニュー');
menu.addItem('空白行削除', 'deleteRowsWithEmptyCellsInSelection');
menu.addItem('1つ上のセルに文章合成', 'mergeCellValueUp');
menu.addToUi();
}

function deleteRowsWithEmptyCellsInSelection() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getActiveRange();
const values = range.getValues();
const rowsToDelete = [];

for (let i = 0; i < values.length; i++) {
for (let j = 0; j < values[i].length; j++) {
if (values[i][j] === '' || values[i][j] === null) {
rowsToDelete.push(range.getRow() + i);
break;
}
}
}

if (rowsToDelete.length === 0) {
SpreadsheetApp.getUi().alert('選択範囲に空白セルを含む行はありません。');
return;
}

rowsToDelete.sort((a, b) => b - a);
rowsToDelete.forEach(row => sheet.deleteRow(row));
}

// 確認メッセージなしバージョンのmergeCellValueUp
function mergeCellValueUp() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getActiveRange();
const numRows = range.getNumRows();
const numCols = range.getNumColumns();

for (let r = 0; r < numRows; r++) {
for (let c = 0; c < numCols; c++) {
const currentRow = range.getRow() + r;
const currentCol = range.getColumn() + c;

if (currentRow === 1) continue;

const currentValue = sheet.getRange(currentRow, currentCol).getValue();
const upperCell = sheet.getRange(currentRow - 1, currentCol);
const upperValue = upperCell.getValue();

if (currentValue !== '') {
const newValue = upperValue ? upperValue + '\n' + currentValue : currentValue;
upperCell.setValue(newValue);
sheet.getRange(currentRow, currentCol).setValue('');
}
}
}
}
入力項目はありません
「プロンプトを生成」ボタンを押してください
運営会社
利用規約
プロンプトエンジニア一覧
プロンプトエンジニア育成講座
©2025 生成AIプロンプト研究所「チャプロ」 All rights reserved.