2025/08/23
【業務】通知機能付きタスク管理表【AI活用】

【業務】通知機能付きタスク管理表【AI活用】

#FILTER #トリガー #if #sendEmail #htmlBody #MailApp

YouTubeで開く

タスク管理表から「期限が直近の未完了タスク」をメールで自動通知する機能を開発しています。
機能の開発にAI(Gemini)を活用しています。

AIを活用したシステムの開発方法について学習することができます。

00:00 挨拶
00:57 完成イメージ
01:28 準備
02:00 作成(メール送信対象の抽出)
06:25 作成(GAS:メール送信)
16:51 作成(トリガー設定)
18:17 完成(一部修正あり)
22:34 振り返り
23:54 プレゼントについて

▼準備ファイル▼

2025/08/22
【ExcelVBA】複数のExcelファイルから必要なデータのみを自動抽出

【ExcelVBA】複数のExcelファイルから必要なデータのみを自動抽出

定期的に送られてくる複数のExcelファイルを、以下のようにまとめるのは、手作業だと大変です。

ということで、「指定したフォルダ内のExcelファイルから、必要なデータを自動で抽出してまとめる仕組み」の実現方法について解説していきます。

※こちらで実現したファイルは、記事の最後にて配布しています。


1. 開発準備

今回は、フォルダのパスをインプットボックスに入力してから実行するだけで、以下のシートに、該当する項目のデータを抽出する仕組みを、VBAを活用して実現します。

まずは、[開発]タブから[マクロ]を選択し、表示された画面の[マクロ名]に好みの名前(例:ImportSalesData)を入力して、[作成]を選択します。

以上の手順で、入力したマクロ名のプロシージャが表示されるため、そのプロシージャを活用します。
「Option Explicit」は、VBE(エディタ画面)の設定内容次第では表示されません。「Option Explicit」についての解説はこちらでは省略します。


2. コードの記述

以下のコードを記述します。

Sub ImportSalesData()
    
    Dim fP As String, fN As String
    fP = InputBox("フォルダパス")
    fN = Dir(fP & "\*.xlsx")
    
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets(1)
    Dim r As Long, c As Long
    r = 3
    
    Do While fN <> ""
        With Workbooks.Open(fP & "\" & fN)
            For c = 2 To 5
                ws.Cells(r, c).Value = _
                    .Worksheets(1).Cells(c, "C").Value
            Next c
            .Close
        End With
        r = r + 1
        fN = Dir()
    Loop
    
End Sub

では、コードについて解説していきます。

    Dim fP As String, fN As String
    fP = InputBox("フォルダパス")
    fN = Dir(fP & "\*.xlsx")

対象のフォルダのパスを格納する用の変数「fP」と、そのフォルダ内の1つのExcelファイルの名前を格納する用の変数「fN」を用意しています。

そして、「fP」には、インプットボックスに入力した値(対象のフォルダのパスを入力する想定)を格納し、「fN」には、その「fP」のフォルダの中に格納されている1つ目のファイル名を格納しています。
「fP & “\*.xlsx”」で、「フォルダパス\*.xlsx」というファイルのパスを作成し、Dirで該当するファイルの名前を取得しています。
※「*」は0文字以上の任意の文字という意味です。

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets(1)
    Dim r As Long, c As Long
    r = 3

シート情報を格納する用の変数「ws」を用意し、抽出先のファイル(コードを記述している自分自身のファイル)の先頭のシート情報を格納しています。

次に、対象のシート(ws)に、抽出内容を入力するセルの位置を指定するための行番号と列番号を格納する用の変数「r:rowの略、c:columnの略」を用意しています。
行番号を格納する用の変数「r」には、予め「3」を格納しています。

    Do While fN <> ""
        '省略
        fN = Dir()
    Loop

指定したフォルダ内に該当するファイルが見つからない場合は、「fN」が空になります。
そのため、ここでは「fN」が空でない場合に、「Do」から「Loop」の中を実行するようにしています。

最後に「fN = Dir()」と記述することで、「fN」の中に次のファイル名が格納されます。
次のファイルが存在しない場合は、ファイル名を取得できないため、「fN」が空になります。

そして、再度、「Do」に戻り、「fN」が空になるまで繰り返して実行されます。

        With Workbooks.Open(fP & "\" & fN)
            For c = 2 To 5
                ws.Cells(r, c).Value = _
                    .Worksheets(1).Cells(c, "C").Value
            Next c
            .Close
        End With
        r = r + 1

繰り返しの中で行う処理です。
「Workbooks.Open(fP & “\” & fN)」で、指定したフォルダ(fP)内の対象のファイル名(fN)のファイルを開いています。
「With」で指定することによって、「With」から「End With」の中で「.」から記述したコードは、開いたファイルの情報に対しての処理になります。

「For」から「Next」の中を、変数「c」の値を2から5まで順番に変化させて繰り返し実行しています。
「2から5」というのは、抽出先の表のB列からE列までの列番号になります。

「For」の中で、抽出先のシートの「r」行目「c」列目のセルに、開いたブックの先頭のシートの「c」行目C列にある値を入力しています。

抽出先のシートの2列目には、抽出元のシートの2行目、
抽出先のシートの3列目には、抽出元のシートの3行目、
という感じに行番号と列番号が、行と列が逆の関係にあるため、上記のような処理になります。

1つのファイルの内容の入力ができたら、次のファイルに移る前に「r = r + 1」で行番号に1を加えています。


3. 完成

以上の内容で実現できます。
実行する際は、[開発]タブの[マクロ]を選択し、表示された画面から開発したマクロ名を選択して[実行]を選択します。

次に、表示されたインプットボックスに、抽出元のファイルが格納されたフォルダのパスを入力して確定します。

これでだけで、以下のように、指定したフォルダ内のすべてのExcelファイルの内容を抽出することができます。

▼サンプルファイル▼

2025/08/19
【Excel】不要なセルを自動でグレーにする方法

【Excel】不要なセルを自動でグレーにする方法

以下の表は、各クラスの人数分の氏名を登録する用の表です。

この表をもとに、指定した人数以外のセルを自動でグレーにする方法について解説していきます。

※こちらで実現したファイルは、記事の最後にて配布しています。


1. 設定手順

まずは、氏名を入力する範囲(色付けする可能性のある範囲)を選択します。

次に、[ホーム]タブの中の[条件付き書式]から[新しいルール]を選択します。

条件付き書式の設定画面にて、[ルールの種類]を[数式を使用して、書式設定するセルを決定]にし、以下の数式を入力します。

=ROW(C4)-3>C$3
// C4:選択基準のセル
// ROW(C4)-3:基準のセルが氏名を入力する何人目のセルなのか取得
// >C$3:取得した数値が該当列の人数より大きい場合(行番号は固定)

最後に、[書式]を選択し、[書式設定]の画面から[塗りつぶし]にてグレーを選択します。

以上の設定で確定します。


2. 完成

これで不要なセルを自動でグレーにすることができます。
常に、人数のセルを参照しているため、人数の変更にも対応しています。

▼サンプルファイル▼


3. まとめ

条件付き書式を活用して、入力が不要なセルの色を変えることで、誤った入力を防ぐことができます。
直接色付けするのとは異なり、条件付き書式を活用することで、人数の変更にも対応でき、繰り返し使える資料になります。

2025/08/17
【業務】繰り返しタスクにも対応!タスク管理アプリ

【業務】繰り返しタスクにも対応!タスク管理アプリ

#タスク #アプリ

YouTubeで開く

繰り返しタスクにも対応した「タスク管理アプリ」の作成方法について解説しています。
誰でも簡単に、ノーコードで作成できる内容です。

00:00 はじめに
01:02 完成イメージ
01:59 表の作成
03:10 データ設定変更
06:35 未完了タスク一覧作成
09:58 カレンダー作成
10:53 アクションボタン作成
14:08 デザイン変更
14:47 繰り返しタスク機能作成(IT予備メンバー限定)
14:52 まとめ
15:11 プレゼントについて


IT予備メンバーに加入して連携すると、メンバー限定動画に切り替わります。

※サイト内の限定動画です。

繰り返しタスクにも対応した「タスク管理アプリ」の作成方法について解説しています。
誰でも簡単に、ノーコードで作成できる内容です。

00:00 はじめに
00:35 完成イメージ
01:32 表の作成
02:42 データ設定変更
06:07 未完了タスク一覧作成
09:31 カレンダー作成
10:25 アクションボタン作成
13:41 デザイン変更
14:20 繰り返しタスク機能作成(IT予備メンバー限定)
20:21 まとめ

2025/08/16
【1-入門31】「0」からの数字を表示する方法

【1-入門31】「0」からの数字を表示する方法

#表示形式 #SUM

YouTubeで開く

電話番号や管理番号などの「0」から始まる数字を表示する方法について、3通りで解説しています。

00:00 挨拶
00:45 方法1:表示形式を「文字列」にする
02:02 方法2:先頭に「’」を加える
03:12 方法3:表示形式で桁数を指定する
04:29 緑の警告を非表示にする
06:33 まとめ
07:16 プレゼントについて

2025/08/15
【Excel】XLOOKUP関数を使って複数条件で検索

【Excel】XLOOKUP関数を使って複数条件で検索

以下の表を例に、XLOOKUP関数を使って複数条件で検索する方法について紹介していきます。

セルF3に「日付」、G3に「商品」を入力し、左側の表から該当するデータの「売上」を、セルH3に抽出する数式を作っていきます。


複数条件で検索する

XLOOKUP関数では、複数の項目を繋げた値に対して検索することができます。
そのため、今回の表では、「日付」と「商品」を繋げて1つの値として検索させます。

具体的には、以下のような数式になります。

=XLOOKUP(F3&G3,B3:B18&C3:C18,D3:D18,"")
// F3&G3:検索値は、検索したい「日付」と「商品」を&で繋げた文字列
// B3:B18&C3:C18:検索範囲は、対象の表の「日付」と「商品」を&で繋げた文字列(18は表の最後の行番号)
// D3:D18:抽出範囲は、「売上」の項目(18は表の最後の行番号)
// "":見つからない場合は、何も表示しない

これだけで、複数項目での検索ができ、必要な値を抽出できます。


正しく検索できない場合と対策

複数の項目を繋げた際に、重複した文字列ができる場合があります。
例えば、以下の表の「グループ」と「商品」を繋げた場合です。

この表ですと、以下の2つのデータが重複してしまいます。
・グループ「A」、商品「BA」→「ABA」
・グループ「AB」、商品「A」→「ABA」

そのため、以下の数式では、正しく検索できない場合があります。

=XLOOKUP(F3&G3,B3:B18&C3:C18,D3:D18,"")

上記の例のように、複数の項目を繋げた際に重複した文字列ができる場合は、対策する必要があります。

その対策とは、項目と項目の間に区切り文字を入れるという方法です。
以下では、「-」を加えて対策しています。

=XLOOKUP(F3&"-"&G3,B3:B18&"-"&C3:C18,D3:D18,"")

区切り文字を加えることで、「AB-A」と「A-BA」という感じに重複していた文字列が異なる文字列となり、正しく検索し、正しい値を抽出することができるようになります。

2025/08/12
【Excel】自動入力が邪魔?一瞬で無効にする方法

【Excel】自動入力が邪魔?一瞬で無効にする方法

以下のような表にデータを登録するときに、勝手に、過去に入力した値が表示されて困っている方いませんか?

今回は、この自動入力を無効にする方法について紹介していきます。

ExcelVBAレベル確認

自動入力を無効にする

まずは、[ファイル]タブから[オプション]を選択し、「Excelのオプション」を表示します。

オプション画面から[詳細設定]を開き、[オートコンプリートを使用する]のチェックを外します。

以上の手順で無効にできます。

ExcelVBAレベル確認

まとめ

自動入力は便利な場面もありますが、毎回異なるデータを登録する表などでは、邪魔になることが多いです。
そのため、邪魔に感じることが多い方は、ぜひ試してみてください。

2025/08/10
【1-入門01】文字の入力・削除・書式設定・配置

【1-入門01】文字の入力・削除・書式設定・配置

#文字入力 #書式設定 #フォント #配置

YouTubeで開く

Excelの基本である「文字の入力」、「削除」、「書式設定」、「配置」について解説しています。
また、意外と知られていない小技も解説しています。

00:00 挨拶
00:57 文字入力
04:55 特殊な入力
08:03 入力内容の編集と削除
10:50 セルの書式設定
22:16 入力内容のクリア
24:09 文字の配置
36:35 セルのサイズ調整
41:32 まとめ
41:58 プレゼントについて


IT予備メンバーに加入して連携すると、メンバー限定動画に切り替わります。

※サイト内の限定動画です。

Excelの基本である「文字入力」、「書式設定」、「配置」について解説しています。
また、意外と知られていない小技も解説しています。

00:00 挨拶
00:29 文字入力
04:28 特殊な入力
07:35 入力内容の編集と削除
10:22 セルの書式設定
21:48 入力内容のクリア
23:42 文字の配置
36:08 セルのサイズ調整
41:04 まとめ

2025/08/09
【業務】自動でレポート作成(集計表+グラフ)

【業務】自動でレポート作成(集計表+グラフ)

#InputBox #For #If #Weekday #WeekdayName #Borders #Shapes #Chart

YouTubeで開く

集計期間と集計対象(商品名)を指定するだけで、瞬時に集計表とグラフを作成する機能について解説しています。
集計表とグラフは実行した回数分、縦に並んで表示されます。

VBAでの集計表やグラフの作成方法について知ることができるため、ご自身のレポート作成にあった内容に書き換えることも可能です。

00:00 挨拶
00:48 完成イメージ
02:11 準備
02:55 作成(集計表+グラフ)
20:18 作成(実行ボタン)
20:48 完成
21:56 プログラムの全体
25:01 プレゼントについて

▼準備ファイル▼

2025/08/08
【便利】データを自由に移動できる機能

【便利】データを自由に移動できる機能

#ActiveCell #Offset #If #Selection #TypeName

※サイト内の限定動画です。

対象のデータ行を自由に移動することができる機能の開発方法になります。
対象のデータを選択し、ボタン1つで「上、下、交換」といった操作が行えます。

00:00 挨拶
00:12 完成イメージ
01:58 準備
02:28 作成(ウィンドウ枠の固定)
03:04 作成(データ交換機能)
09:23 作成(データ交換機能の汎用化)
09:59 作成(上に移動する機能)
12:52 作成(下に移動する機能)
14:10 作成(2つの行を交換する機能)
16:53 作成(実行ボタン)
18:03 完成
18:47 補足(警告を表示)
19:24 プログラムの全体
23:29 プレゼントについて

▼準備ファイル▼

2025/08/08
【Excel】条件付き書式で文字数チェック機能を実現

【Excel】条件付き書式で文字数チェック機能を実現

文字数制限のあるSNSの投稿文などを作成する際に便利な、文字数をチェックする機能の作り方について解説していきます。

※こちらで実現したファイルは、記事の最後にて配布しています。


仕様

今回は、以下の仕様で作っていきます。

1. 入力した文字数に応じて残りの文字数を表示
2. データバーで視覚的に残りの文字数を表示
3. 制限を超えた場合は赤色で表示
4. 「残り○文字」という形式で表示

使用するシートは以下になります。

セルB3に文字を直接入力し、セルB2に残りの文字数を表示する想定です。

では、順番に作っていきます。


1. 入力した文字数に応じて残りの文字数を表示

今回は、50文字を制限とした文字数チェック機能を作っていきます。
まずは、残りの文字数をセルB2に表示させるため、以下のような数式を入力します。

=50-LEN(B3)
// LEN(B3):セルB3に入力されている文字数を取得

文字数の制限を変更する場合は、数式内の「50」を変更してください。


2. データバーで視覚的に残りの文字数を表示

では次に、残りの文字数を視覚的にデータバーとして表示していきます。
データバーの設定は「条件付き書式」で行います。

先ほど数式を入力したセルを選択し、[ホーム]タブから[条件付き書式]の[新しいルール]を選択します。

表示された画面で、ルールの種類を[セルの値に基づいてすべてのセルを書式設定]にし、以下の設定を行います。

・書式スタイル:データバー
・最小値:数値「0」
・最大値:数値「50」(制限する文字数)
※色などは必要に応じて変更してください。

上記の設定で確定することで、以下のようにデータバーを表示することができます。


3. 制限を超えた場合は赤色で表示

現状の設定のままですと、文字数の制限を超えた場合は、マイナスの値が表示されるだけになります。

そのため、マイナスの値の場合(文字数の制限を超えた場合)は、セルの背景色を赤色にして目立たせていきます。

先ほど数式を入力したセルを選択し、[ホーム]タブから[条件付き書式]の[新しいルール]を選択します。

表示された画面で、ルールの種類を[指定の値を含むセルだけを書式設定]にし、以下の設定を行います。

・[セルの値]、[次の値より小さい]、「0」

次に、[書式]を選択し、以下の設定を行います。

・[塗りつぶし]タブ → 赤
・[フォント]タブ → 色 → 白

上記の設定で確定することで、以下のように文字数の制限を超えているときに、赤色にすることができます。


4. 「残り○文字」という形式で表示

最後に、数値を「残り○文字」という形式にしていきます。
数値を変えずに見た目のみを変更するには「表示形式」を活用します。

先ほど数式を入力したセルの上で右クリックし、[セルの書式設定]を選択します。

表示された画面の[表示形式]タブを選択し、[ユーザー定義]にて以下の内容を入力します。

"残り"0"文字";"残り"-0"文字"

表示形式については、以下の記事にて詳しく解説しています。
>【1-入門04】セルの表示形式の基礎から応用

上記の設定で確定し、必要に応じて、太字や中央揃えといった設定を行います。


完成

以上の手順で完成です。
セルB3に入力された文字数に応じて、セルB2の表示が切り替わります。

▼サンプルファイル▼

2025/08/05
【Excel】指定したセルを瞬時に選択!名前ボックスの活用術

【Excel】指定したセルを瞬時に選択!名前ボックスの活用術

同じシートを再利用する際に、毎回、手入力のセルを1つ1つ選択してDeleteキーで削除するのは面倒ですし、削除する必要がないセル(固定値や数式など)を誤って削除してしまうリスクもあります。

そんな時に便利な名前ボックスを活用した予め指定したセルを瞬時に選択する方法について解説していきます。


対象のセルに名前を付ける

まずは、Ctrlキーを押しながら対象のセルを全て選択します。

次に、左上の名前ボックスを選択し、好みの名前を入力します。
こちらでは「入力項目」と入力しています。

名前の入力後、Enterキーで確定することで、名前を付けることができます。


名前を活用する

付けた名前は、名前ボックスのリストに表示されます。

名前ボックスのリストから、先ほど付けた名前を選択することで、指定したセルを瞬時に選択することができます。
※セルが結合されている範囲は、一部のセルだけが選択されることがあります。

選択された範囲の値を削除したい場合は、Deleteキーを押すことで、一括で削除することができます。
以下のような警告が表示される場合は、一度[OK]で確定し、再度Deleteキーを押すことで削除できます。

ExcelVBAレベル確認

警告を表示させないコツ

セルが結合されている範囲を単体で選択すると、先ほどのような警告が表示されることがあります。
警告を表示したくない場合は、セルが結合されている範囲を単体ではなく、複数の範囲に広げて選択して、名前を設定するとよいです。
※セルの値を削除する目的の場合は、削除されても問題ない範囲を選択してください。


名前を削除する

付けた名前は、[数式]タブの中の[名前の管理]にて管理されます。
不要になった際は、[名前の管理]から削除することができます。

不要になった名前は、放置せずに削除するようにしてください。


まとめ

繰り返し使用するシートの場合は、テンプレート用のシートを用意して、毎回シートをコピーするという方法もあります。
ただ、編集後のシートを毎回残す必要がない場合(印刷のみを行う場合など)は、今回の名前を付けるという方法もおすすめになります。

本来、名前を付ける目的は、参照範囲を分かりやすくするためですが、対象のセルを選択しやすくするためにも活用できると覚えておくとよいです。