2024/08/09
【Excel】行数や列数が異なる複数のマトリックス表を集計

【Excel】行数や列数が異なる複数のマトリックス表を集計

以下のような行数や列数が異なる複数のマトリックス表を集計する方法について解説していきます。

ExcelVBAレベル確認

「統合」機能の活用

このような集計を行いたい場合は、[統合]という機能を活用します。
まずは集計結果を表示したい空の表を作成します。

要素の数(行数と列数)が分からない場合は、大きめに作成すると良いです。

次に作成した表全体を選択し、[データ]タブの中の[統合]を選択します。

表示された設定画面にて、[集計の方法]を指定し、[統合元]に集計対象のマトリックス表を追加していきます。
追加する方法は、[統合元範囲]のテキストボックスを選択し、対象のマトリックス表を選択することでアドレスが入力されるため、[追加]を選択します。
この作業を繰り返し、[統合元]に集計対象の全てのマトリックス表の範囲を追加します。

[統合元]に対象のマトリックス表の範囲を追加することができましたら、[統合の基準]の[上端行]と[左端列]をチェックし[OK]で確定します。

以上の作業を行うことによって、集計結果を空の表に反映することができます。


注意

最初に選択した範囲の要素の数(行数と列数)が少ない場合は、部分的な集計結果しか表示することができません。
そのため、集計結果を表示する空の表を作成する際は、要素の数に注意する必要があります。

大きめに選択することに関しては問題ないため、要素の数が分からない場合は大きめに選択しましょう。

また、集計結果の内容は、集計対象のセルと紐づいていません。
そのため、集計対象の値を変更したとしても、集計結果には反映されないので注意する必要があります。
集計対象の表を紐づけたい場合は、統合の設定画面にて[統合元データとリンクする]にチェックします。

そのようにすると、各表の個々の要素が数式で参照され、SUM関数などで集計された表に変換されます。
※以下の表では全ての行や列を表示させていますが、4~6行目、8~9行目などの合計の詳細に関しては自動でグループ化されます。

ただ、個々の表の要素(行や列)の追加には対応していないため、扱いには注意する必要があります。


補足

集計結果を表示させる表に関して要素の順番を予め指定したい場合は、要素が予め入力されている空の表を用意することで、その表に合った要素の順番で集計結果を表示することができます。

2024/08/07
【Windows】フォルダのアイコンを変更

【Windows】フォルダのアイコンを変更

Windowsのフォルダのアイコンを好みの画像に変更することができるのはご存じでしょうか。
フォルダのアイコンを必要に応じて変更することによって、目的のフォルダが見つけやすくなります。

こちらでは、フォルダのアイコンを好みの画像に変更する方法について解説していきます。


フォルダのアイコンを変更

まずは、対象のフォルダを用意します。
新規でフォルダを作成するには、何もないところで右クリックし、表示されたメニューから[新規作成]の中の[フォルダー]を選択します。

フォルダの作成ができましたら、対象のフォルダの上で右クリックし、表示されたメニューから[プロパティ]を選択します。

プロパティを開くことができましたら、[カスタマイズ]タブを選択し、その中の[アイコンの変更]を選択することで、好みのアイコンに変更することができます。

予め用意されているアイコンの中から変更することもできますが、好みの画像に変更するには、好みの画像をアイコン形式に変換する必要があります。
「png」などの画像をアイコン形式「ico」に変換する場合は、ICO converterなどのサイトを活用するのが良いです。

[参考] ICO converter

以下のように、好みの画像を「ico」に変換することができましたら、その「ico」のファイルをフォルダのアイコンに設定していきます。

まずは、アイコンの変更の画面を開き、[参照]を選択して作成した「ico」のファイルを指定し、一覧に読み込みます。

後は読み込まれた「ico」のアイコンを指定するだけで、フォルダのアイコンとして設定することができます。

2024/08/05
【Excel】表示されているセルのみ集計

【Excel】表示されているセルのみ集計

以下の売上合計(セルC2)は、SUM関数を用いて表を参照して求められています。

ただSUM関数での集計の場合、フィルター機能などを活用して、表の一部を非表示にしたとしても集計されてしまいます。
こちらでは、非表示のセルを集計対象から除外して集計する方法について解説していきます。


SUBTOTAL関数の活用

非表示のセルを集計対象から除外した集計を行う方法には、SUBTOTAL関数を活用する方法があります。
この関数の使い方は、以下の通りです。

=SUBTOTAL(集計方法, 参照1, [参照2], [参照3], …)
// 集計方法:集計する方法の番号を以下の表を参考に指定する
// 参照:集計する対象の値を指定する([参照2]以降は省略可能)

実際にSUBTOTAL関数を用いて、非表示のセルを集計対象から除外した合計を求める場合は、以下の数式になります。

=SUBTOTAL(109,D5:D10)
// 集計方法「109」:非表示のセルを除外した合計

SUBTOTAL関数を活用することによって、フィルター機能などを活用して、表の一部を非表示にすると、以下のように集計対象から除外されるようになります。

SUBTOTAL関数では、この1つの関数で11個の関数の役割を持ちます。
また、11個の関数の役割に加え、非表示のセルを集計対象とするかどうかを指定することができるので、個々の集計関数(SUM、COUNTなど)よりも便利な関数になります。

2024/08/03
【番外-038】項目単位で入力モードを自動切替

【番外-038】項目単位で入力モードを自動切替

#入力モード #全角文字 #半角文字 #全角カタカナ

YouTubeで開く

それぞれの項目に対して、入力モードを設定する方法について解説しています。
この設定を行うことによって、項目ごとに全角や半角、全角カタカナなどと入力モードを切り替える必要がなくなります。

00:00 挨拶
00:27 自動で半角文字の入力に切り替える設定
01:35 自動で全角文字の入力に切り替える設定
02:11 自動で全角カタカナの入力に切り替える設定
03:01 まとめ

2024/08/02
【Excel】単位をセルの端に表示する

【Excel】単位をセルの端に表示する

以下のように、セルの値に対し単位をセルの端に表示する方法について解説していきます。

表示されている単位は、表示形式の設定による見た目のみで、セルの中身に関しては変わっていません。
そのため、単位を表示させたからといって、集計などに影響が出ることはありません。


単位を右端に表示する

まずは単位を右端に表示させます。
該当するセルを選択し、[ホーム]タブの[表示形式]の設定より[その他の表示形式]を選択します。

表示された書式設定の画面にて、[ユーザー定義]を選択し、[種類]のテキストボックス内に好みの表示形式を指定します。
こちらでは、カンマ区切りの数値を表示するため「#,##0」という書式記号を入力しています。

書式記号についての説明は、以下の記事をご確認ください。

>セルの表示形式の基礎から応用 ※メンバー限定
>セルの表示形式の設定方法

ExcelVBAレベル確認

次に単位を設定します。
単位を表示する場合は、単位をダブルクォーテーションで囲って直接右端に入力します。
※表示する文字によってはダブルクォーテーションを省略することができるものも存在します。(「¥」、「$」、「+」、「-」、「=」、「(」、「)」、「:」、「’」、「>」、「<」、「/」)

また、その単位の左隣りに「*_(_は半角スペース)」を入力します。

「*」は直後の文字を繰り返して表示するという書式記号になります。
その後に「_(_は半角スペース)」を加えることで、半角スペースを右端まで繰り返して表示することができます。
その結果、以下のように単位を右端に表示することができます。

ちなみに、文字に対して「様」などを表示する場合は、文字をそのまま表示する書式記号「@」に「*_”様”(_は半角スペース)」を加えることで表示することができます。


単位を左端に表示する

次に単位を左端に表示する方法について解説していきます。

単位を左端に表示する時とは、以下のように「¥」を表示する時などになります。

上記の内容は、「¥」の後に半角スペースを繰り返して表示させ、最後に「#,##0」形式で表示させています。
そのため、書式記号で表現する場合、以下のような設定になります。

「¥」はダブルクォーテーションで囲む必要のない記号になるため、そのまま入力しています。
上記の設定を行うことで、単位のみを左端に表示することができます。

2024/08/01
【業務】ボタン1つで別シートに抽出

【業務】ボタン1つで別シートに抽出

#データの入力規則 #条件付き書式 #for #if

YouTubeで開く

選択したデータを他のシートに抽出する機能について解説しています。
Web版のExcelでも実行することができるOfficeスクリプトでの開発になります。

数式での抽出とは異なりプログラムによる抽出のため、抽出先で項目を追加した場合に関しても、データ行がずれてしまうことはありません。

00:00 挨拶
00:34 完成イメージ
03:35 準備
04:18 作成(ウィンドウ枠の固定)
05:21 作成(抽出項目にリストを設定)
06:51 作成(「済」の行をグレーにする)
09:18 作成(抽出機能)
30:58 作成(実行ボタン)
31:51 完成
34:25 プログラムの全体
42:32 まとめ

※動画内で紹介している関連動画は、YouTubeの概要欄にて確認いただけます。

▼準備ファイル▼

2024/07/31
【Excel】絞り込み作業の効率化「スライサー」

【Excel】絞り込み作業の効率化「スライサー」

同じ項目でよく絞り込みをする場合は、「スライサー」という機能を活用することで効率的に絞り込みを行うことができます。

こちらでは、スライサーの機能の設定方法について解説していきます。

ExcelVBAレベル確認

1. テーブルに変換

スライサーを活用するためには、最初に対象の表をテーブルにする必要があります。
表をテーブルにするには、表の中を選択し、[挿入]タブから[テーブル]を選択します。
表示された「テーブル作成」という画面にて、表の範囲が正しく選択されていることを確認し、表の先頭行に項目名が含まれる場合は、[先頭行をテーブルの見出しとして使用する]にチェックします。

上記の画面にて[OK]で確定することで、以下のように表をテーブルにすることができます。

テーブルについての詳しい解説は、以下の記事にてご確認ください。

>テーブルとは


2. スライサーの挿入

作成したテーブルを選択すると、[テーブルデザイン]というタブが表示されるため、[テーブルデザイン]タブから[スライサーの挿入]を選択します。
また、次に表示される画面にて、絞り込みを行いたい対象の項目にチェックして[OK]で確定します。

以上の手順で「スライサー」を作成することができます。
必要に応じて、スライサーを選択した時に表示される[スライサー]タブより、列数などの細かな設定を行います。

スライサーを移動させ、1行目に配置した例が以下になります。

スライサーは項目単位で作成され、それぞれのスライサーに設定した項目に、存在している値の種類分のボタンが表示されます。
上記では、「支店」の項目を元に作成しているため、スライサーには「支店」の項目に含まれる「大阪、東京、福岡、名古屋」のボタンが表示されています。

それぞれのボタンを選択することで、簡単に表を絞り込むことができます。

ExcelVBAレベル確認

複数の値で絞り込みたい場合は、Ctrlキーを押しながら選択、もしくは右上のチェックマークを選択した後に複数選択することで絞り込みできます。

絞り込みを解除する場合は、右上の「×」を選択することで瞬時に解除することができます。

2024/07/29
【Excel】数式のセルを自動で色付け

【Excel】数式のセルを自動で色付け

数式が入力されているセルを誤って触ってしまい、数式が消えてしまうことがあります。
また、表にある数式列の一部が直接入力されている場合、修正時に正しく反映されなくなります。
その対策として、数式が入力されているセルを色付けして、どのセルに数式が入力されているのかを分かりやすくする方法について解説していきます。


条件付き書式の設定

数式が入力されているセルを自動で色付けするには、条件付き書式を活用します。

まずは、数式の有無を確認したい範囲を全選択します。

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

条件付き書式の設定画面にて、[ルールの種類]を[数式を使用して、書式設定するセルを決定]にし、表示されたテキストボックス内に以下の数式を入力します。

=ISFORMULA(A1)
// A1はアクティブセル

こちらでは、セルA1を基準に全体を選択しているため、セルA1に対しての数式を入力しています。
ISFORMULA関数では、指定したセルに数式が入力されている時に「TRUE」、数式でない時に「FALSE」を返します。
そのため条件付き書式にて、対象のセルに数式が入力されている時のみに「TRUE」となり、条件を満たすようにしています。

数式の入力ができましたら、条件を満たした時に反映する書式を設定します。
[書式]を選択し、こちらでは、[塗りつぶし]タブより薄い黄色を設定しています。

好みの書式を設定することができましたら[OK]で確定して、条件付き書式の設定画面を閉じることで、以下のように数式が入力されているセルに対し、自動で色付けすることができます。

2024/07/27
【業務】ボタン1つで別シートに抽出

【業務】ボタン1つで別シートに抽出

#抽出 #For #If #条件付き書式 #データの入力規則

YouTubeで開く

指定したデータを別シートに、瞬時に抽出する仕組みです。
数式ではなくプログラムにより抽出しているため、抽出先は抽出先で好みの項目を追加しても、データがずれてしまうということはありません。

00:00 挨拶
00:24 完成イメージ
03:16 準備
04:01 作成(ウィンドウ枠の固定)
04:58 作成(抽出項目にリストを設定)
06:29 作成(「済」の行をグレーにする)
08:44 作成(抽出機能)
19:51 作成(実行ボタン)
20:51 完成
22:33 プログラムの全体
25:56 まとめ

▼準備ファイル▼

2024/07/26
【Excel】条件を満たしたセルに連番を入力

【Excel】条件を満たしたセルに連番を入力

以下の表の「作業内容」の項目に値を入力すると同時に「No」の項目に連番を表示する方法について解説していきます。


自動で連番を表示する

まずは準備段階として、「No」の項目の先頭に「1」のみを入力します。
次に、セルB6以降に「No」を表示する数式を入力していきます。

セルB6以降に入力する数式は、以下のような式になります。

・該当する行に関して、C列「作業内容」に値が入力されている場合に、B列「No」に連番を表示する
・「No」に表示する番号は、「No」を表示する行よりも上の範囲の最大値に1を加えた番号になる

この内容を満たした数式は、以下になります。

=IF(C6="","",MAX($B$5:B5)+1)
// セルB6に入力する数式

MAX関数で指定した範囲の最大値を取得することができるため、IF関数で該当する行のC列に値が入力されている場合に関してのみ、MAX関数で取得した値に1を加えた値を表示しています。

MAX関数の引数に設定している範囲($B$5:B5)は、該当する行よりの上の範囲になります。
セルB6の場合はセルB5~B5の範囲、セルB7の場合はセルB5~B6の範囲、セルB8の場合はセルB5~B7の範囲、という感じになります。

範囲の始まりのセル(B5)に関しては固定し、終わりのセル(数式を入力したセルの真上)に関しては相対的に変化させる必要があるため、「$B$5:B5」のように始まりのみを絶対参照($)にして終わりは相対参照にしています。

この数式を、連番を表示させたい範囲の最後までコピーすることで、「作業内容」の項目の値の有無に応じて連番を表示することができます。


注意点

この方法を活用する場合、行の挿入時に注意すべき点があります。
行を挿入した場合、挿入した範囲には数式が表示されません。
そのため、挿入した範囲内の「作業内容」の項目に値を入力してしまうと、間違った連番になってしまいます。

また、挿入したセルの次の行(B12)の数式に関しては、以下のように参照範囲がずれてしまいます。

=IF(C12="","",MAX($B$5:B8)+1)
// 理想はMAX($B$5:B11)となるべき

そのため、挿入した範囲にも数式を反映させる場合は、挿入した行の一つ上のセル(B8)の数式を、挿入した行の一つ下のセル(B12)までコピーする必要があります。

この数式の場合、上記の点が少しややこしいので、参照範囲がずれない別の数式についても解説していきます。


参照範囲がずれない数式

参照範囲がずれない数式とは、以下のような数式になります。

=IF(C5="","",COUNTA($C$5:C5))

この数式は、「No」の先頭の項目であるセルB5に入力します。

この数式は、数式を入力した行までの「作業内容」の項目に値が入力されているセルの数を表示するといったものなります。
指定した範囲内に値が入力されているセルの数を取得するためにCOUNTA関数を活用しています。
COUNTA関数に指定する範囲に関しては、セルB5に入力する数式の場合はセルC5~C5の範囲、セルB6の場合はセルC5~C6の範囲、セルB7の場合はセルC5~C7の範囲と、終わりの位置のみを相対参照で反映する必要があります。

そのため、「$C$5:C5」と始まりを絶対参照($)にして終わりを相対参照にしています。

こちらの数式を先ほど同様にコピーすることで、連番を表示することができます。

この数式の場合は、COUNTA関数の参照範囲の終わりの位置を、数式を入力している行と同じにしているため、行を挿入した場合に関しても、連番がずれてしまうことはありません。

挿入した行にも連番を表示させるには、「No」の項目に入力されている数式をコピーするだけで表示することができます。
最初に解説した数式とは異なり、挿入した行の一つ下のセル(B12)までコピーする必要はありません。

2024/07/24
【Excel】指定項目の先頭の値以外を薄くする

【Excel】指定項目の先頭の値以外を薄くする

以下の表のように、特定の項目に対し、同じ値が繰り返された場合に文字の色を自動で薄くする方法について解説していきます。


連続した同じ値の文字の色を薄くする

実現するには、「条件付き書式」を活用します。
まずは、対象の項目の範囲を全て選択します。こちらでは、セルA3以降を全て選択しています。

次に、[ホーム]タブの中の[条件付き書式]の[新しいルール]を選択し、表示された設定画面にて、色を薄くする条件を指定します。

設定画面の[ルールの種類]を[数式を指定して、…]にし、表示されたテキストボックス内に以下の数式を入力します。

=A3=A2
// 選択基準のセル(A3)の値がその上のセル(A2)の値と等しい場合

数式で参照しているセルは必要に応じて変更してください。
次に、[書式]を選択し、文字の色を設定します。

設定後は、確定して条件付き書式の設定画面を閉じることによって反映することができます。


補足

文字の色を変更する時などと、既に設定した条件付き書式を編集する場合は、[条件付き書式]の[ルールの管理]にて行います。

2024/07/22
【Excel】データの追加に対応した数式を作成

【Excel】データの追加に対応した数式を作成

以下のような数式の場合、データを追加した際に数式の参照範囲を毎回修正する必要があります。

=SUM(B2:B6)
// 対象範囲がB2~B6の場合

今後、データが追加されることを考慮した数式の作成方法について3通りで解説していきます。

ExcelVBAレベル確認

方法1

予め参照範囲を広めに指定することで、データの追加に対応することができます。

=SUM(B2:B100)
// 予め100行目まで指定する

この方法のデメリットは、行の削除などがあった際に、対応範囲が変わってしまうという点になります。
例えば、以下の表の6行目のデータを行ごと削除してみます。

そのようにすると、以下のように数式の参照範囲まで小さくなってしまいます。

=SUM(B2:B99)
// B100→B99

このような作業を繰り返すことで、気が付いた時には参照範囲外になり、正しく集計されない場合もあるかと思います。

ExcelVBAレベル確認

方法2

先ほどとは異なり、対象の列(行)全体を指定することで、データの追加に対応することができます。

=SUM(B:B)
// SUM関数では参照範囲内の数値のセル以外は集計対象外になる

この方法の場合は、列指定では列を削除した時にも参照範囲が変わらなくなります。

ただ、この方法にもデメリットが存在します。
それは、参照範囲が膨大になることによる処理速度の低下です。
SUM関数のように、参照範囲が広くても処理速度に大きく影響しない関数も存在しますが、SUMIF関数などの条件付き関数やVLOOKUP関数などの検索関数など、関数によっては、処理速度に影響する可能性があります。
そのため、列(行)全体の指定を多用する場合は、注意する必要があります。


方法3

テーブルを活用することで、データの追加に対応することができます。
この方法の場合、対象の範囲をテーブルに変換する必要があります。
テーブルに変換するには、対象の範囲内のセルを選択し、[挿入]タブの[テーブル]を選択します。

作成したテーブルを選択すると、[テーブルデザイン]タブが表示されるため、必要に応じてテーブルのデザインやテーブル名を変更してください。

テーブルに変換した状態で、数式にてテーブルの対象範囲を指定すること、自動的に構造化参照で参照式が入力されます。

=SUM(テーブル1[売上])
// テーブル名[項目名]

この参照方法の場合は、テーブルのサイズに合わせて参照範囲が設定されるため、データの追加時にも対応することができます。

ExcelVBAレベル確認

おすすめの方法

表を参照する場合は、3つ目の方法で参照を活用することを推奨します。
テーブルと構造化参照については、以下の記事にて解説しております。

>テーブルの活用方法
>構造化参照とは