Excelで土日・祝日の大文字小文字区別削除 - 完全ガイド
「土日や祝日のデータを削除したいけど、手作業だと時間がかかるしミスも怖い…」そんな悩みを持っている方へ。この記事ではExcelで土日・祝日を大文字小文字を区別して削除する方法を詳しく解説します。数式とマウス操作の両方の方法を紹介し、それぞれのメリットやデメリットも明確に説明しますので、「これさえ読めば解決」と思える内容となっています。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(FILTER関数) | 自動更新される, 大文字小文字を区別できる | 古いExcelでは使えない | ◎ |
| マウス操作(フィルタ機能) | 直感的で簡単, Excelのバージョンに依存しない | 元データが消える可能性あり, 大文字小文字を区別できない | 〇 |
fx 使用する数式
Excel / SpreadSheet
=FILTER(A2:A100, NOT(REGEXMATCH(TEXT(TODAY(), "dddd"), "土曜日|日曜日") AND NOT(ISNUMBER(MATCH(TEXT(TODAY(), "yyyy-mm-dd"), B2:B100, 0)))), "")💡 仕組みの解説
【数式の仕組み】この数式は、土日・祝日のデータを大文字小文字を区別して削除します。FILTER関数を使用することで、指定された条件に合致しないデータのみを抽出できます。まず、TEXT(TODAY(), “dddd”)で今日の曜日名を取得し、REGEXMATCH関数を使って「土曜日」または「日曜日」が含まれているかチェックします。次に、ISNUMBER(MATCH(TEXT(DATEVALUE(“TODAY()”), “yyyy-mm-dd”), B2:B100, 0))で祝日のデータを特定し、NOT関数でこれらの条件を否定します。最終的にFILTER関数で元のデータから該当するデータを削除しますが、元のデータは消えず別の場所に抽出されます。
具体的な手順
1
FILTER関数を入力します。
2
TEXT(TODAY(), “dddd”)で今日の曜日名を取得し、REGEXMATCH関数を使って土日・祝日のデータを特定します。
3
ISNUMBER(MATCH(TEXT(DATEVALUE(“TODAY()”), “yyyy-mm-dd”), B2:B100, 0))で祝日のデータをチェックし、NOT関数でこれらの条件を否定します。
よくある質問
Q Q1. VBAとの違いは?
A.
A1. 数式を使用する方法はマクロを書く必要がなく、簡単に実装できますが、VBAではより複雑な処理や大量のデータに対応可能です。
Q Q2. エラーが発生した場合
A.
A2. エラーが発生する原因は主に引数の設定ミスです。関数のドキュメントを確認し、正しい形式で入力されているか再チェックしてください。
Q Q3. スマホ版でも使える?
A.
A3. Googleスプレッドシートではスマートフォンからも使用できますが、Excelはスマートフォン版での数式の編集が制限されています。