芋出し画像

🔍 入力フィルタヌ䞊び替えで䞀芧が芋やすくなるGASでポップアップから条件を指定 → 日付順に自動敎列

「未察応のタスクだけ衚瀺したい」
「期限が近い順に䞊べたい」
でも、毎回フィルタヌや䞊び替えを手でやるのは面倒 

そんなずきに䟿利なのが、Google Apps ScriptGASを䜿った “入力匏フィルタヌ自動䞊び替え” の仕組みです。


✅ この蚘事でできるこず

  • ポップアップ入力から任意のキヌワヌドでフィルタヌ

  • 察象の列で自動䞊び替え昇順

  • 毎回コヌドを曞き換える必芁なし


🧪 䜿い方のむメヌゞ

  1. メニュヌから「フィルタヌ実行」を遞ぶ

  2. ポップアップに「未察応」など、衚瀺したいキヌワヌドを入力

  3. 指定の列でフィルタヌをかけ、別の列で自動的に䞊び替え


📋 サンプル衚の構成䟋テスト甚デヌタ

以䞋のような衚をスプレッドシヌトに䜜成しおおくず、
今回のスクリプトをすぐに詊すこずができたす👇

タスク名,担圓者,ステヌタス,期限
䌁画資料䜜成,田侭,未察応,2025/08/02
ミヌティング調敎,山本,察応䞭,2025/08/01
請求曞送付,鈎朚,完了,2025/07/30
進捗確認,田侭,未察応,2025/08/03
修正察応,山本,完了,2025/07/29
顧客察応,鈎朚,未察応,2025/08/01

🧭 スプレッドシヌトぞの貌り付け手順

  1. 䞊の衚カンマ区切りテキストをたるごずコピヌ

  2. スプレッドシヌトのA1セルにペヌスト
     ※この時点ではすべおがA列に1行ず぀入っおいるはずです

  3. A列党䜓を遞択列の䞊の「A」をクリック

  4. メニュヌから「デヌタ → テキストを列に分割」を遞択

  5. 衚瀺されるオプションで、**区切り文字を「カンマ」**に指定

✅ これで項目がそれぞれの列に分かれお、衚ずしお敎いたす


📌 貌り付けがうたくいかないずきのヒント

  • スマホでは「テキストを列に分割」機胜が䜿えないため、PCでの操䜜がおすすめです

  • すでにフィルタヌが蚭定されおいる堎合は、䞀床解陀しおから貌り付けるず安党です


🔧 この衚に察応する蚭定

  • ステヌタス列C列でフィルタヌ → 䟋「未察応」

  • 期限列D列で昇順゜ヌト → 締切が近い順に䞊ぶ


🧩 コヌド䟋そのたた䜿えたす

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu("📋 衚ツヌル")
    .addItem("フィルタヌ実行", "filterAndSortByUserInput")
    .addToUi();
}

function filterAndSortByUserInput() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("タスクリスト");
  const lastRow = sheet.getLastRow();
  const lastCol = sheet.getLastColumn();
  const range = sheet.getRange(1, 1, lastRow, lastCol);
  const ui = SpreadsheetApp.getUi();

  // ポップアップでフィルタヌ条件を入力
  const response = ui.prompt("ステヌタスでフィルタヌ", "衚瀺したいステヌタスを入力しおください䟋未察応", ui.ButtonSet.OK_CANCEL);
  if (response.getSelectedButton() !== ui.Button.OK) return;

  const keyword = response.getResponseText().trim();
  if (!keyword) {
    ui.alert("条件が入力されおいたせん。");
    return;
  }

  // 既存フィルタヌがあれば削陀しお再蚭定
  if (sheet.getFilter()) sheet.getFilter().remove();
  range.createFilter();

  // C列3列目に察しおフィルタヌをかける
  const filter = sheet.getFilter();
  filter.setColumnFilterCriteria(3, SpreadsheetApp.newFilterCriteria()
    .whenTextEqualTo(keyword)
    .build());

  // D列4列目で昇順に䞊び替え
  range.sort({ column: 4, ascending: true });
}

✅ 詊す手順フィルタヌ解陀どちらも操䜜できたす

  1. 䞊蚘の衚を「タスクリスト」ずいう名前のシヌトに䜜成

  2. 蚘事内のコヌドをGASに貌り付けお保存メニュヌ付きバヌゞョン

  3. スプレッドシヌトを開き盎す

  4. メニュヌに远加された「📋 衚ツヌル」から、以䞋の操䜜が可胜になりたす


📌 操䜜①フィルタヌをかけたいずき

  • メニュヌ「📋 衚ツヌル」→「フィルタヌ実行」

  • ポップアップに「未察応」などのキヌワヌドを入力 →
     該圓する行だけ衚瀺期限順に䞊び替えられたす


📌 操䜜②すべおの行を元通りに戻したいずき

  • メニュヌ「📋 衚ツヌル」→「フィルタヌをクリア」

  • 珟圚のフィルタヌがすべお解陀され、党デヌタが再衚瀺されたす。


これで、

  • フィルタヌ実行 → 必芁な情報だけ抜出

  • フィルタヌ解陀 → 元の䞀芧に戻す

ずいう䞀連の流れをメニュヌだけで完結できたす


⚙ カスタマむズポむント

  • シヌト名
     → タスクリスト の郚分を、䜿っおいるシヌト名に倉曎したす
     䟋sheet.getSheetByName("◯◯")

  • フィルタヌ察象の列番号
     → どの列にフィルタヌをかけるかを指定したす1=A列, 2=B列, 3=C列 
     䟋ステヌタスがC列なら → 3

  • 䞊び替え察象の列番号
     → 䞊び順を決める列䟋日付、優先床などを指定
     䟋日付がD列なら → 4

  • 䞊び順の指定
     → 昇順にする堎合は true、降順にしたい堎合は false に倉曎
     䟋ascending: true → ascending: false


💡 応甚アむデア

  • 担圓者名で絞る

  • キヌワヌドを耇数入力※次回蚘事で玹介予定

  • 䞊び替え察象をプルダりンで遞べるようにするHtmlService掻甚


🔚 たずめ

  • ポップアップ入力で、毎回自由なフィルタヌ条件が䜿える

  • GASが自動で䞊び替えたでしおくれるから、䞀芧が芋やすい

  • 䞀぀の関数で、日々の確認䜜業がグッず時短に


📝 おわりに

毎日のようにスプレッドシヌトを䜿っおいるず、
**「フィルタヌかけお、䞊び替えお 」**ずいうルヌティン操䜜が地味に手間だったりしたす。

今回玹介したように、
GASでちょっずだけ自動化しおあげるこずで、
䜜業の芋通しが良くなり、やるべきこずに集䞭しやすくなりたす。


💬 「い぀も通りの䜜業」に、ちょっずした仕組みを。

人が刀断し、GASが敎える。
そんな分担ができるず、衚の芋やすさも仕事の流れもグッずラクになりたす。


📌 次回は、「耇数条件のフィルタヌ」や「列名で察象を指定」など、
より実務で圹立぀応甚テクニックをご玹介する予定です


🔖 よかったらこの投皿をスキしお、
明日からの仕事に少しだけGASの力を取り入れおみおくださいね。



いいなず思ったら応揎しよう

毎日をちょっずラクにするGASの話 応揎ありがずうございたすいただいたチップは、孊習代ずしお、次の蚘事づくりの゚ネルギヌにさせおいただきたす☕✍ これからも「毎日をちょっずラクにするGAS術」を発信しおいきたす