2024/05/13
【Word】指定した範囲内を全角文字に統一

【Word】指定した範囲内を全角文字に統一

Wordでの文章に関して、指定した範囲内の半角文字が含まれる文字列を、全て全角文字に統一する方法について解説しています。


全角文字に変換

以下の文章を用いて、全角文字に変換する手順を解説していきます。

まずは、全角文字に統一したい対象の範囲を選択します。
全てを全角文字に統一したい場合は、Ctrlキーを押しながらAを押すことで全選択することができます。

こちらでは、以下の範囲を選択しています。

選択後、[ホーム]タブの中の[Aa(文字種の変換)]より[全角]を選択します。
※こちらのメニューより、他の種類(半角文字など)に変換することもできます。

以上の手順で、以下のように、選択範囲の文字を全角文字に統一することができます。


まとめ

文章を作成する際は、文字の種類を統一した方が良いため、こちらの機能を覚えておくと役立ちます。

2024/05/10
【Excel】分析に必要な情報を瞬時に求める

【Excel】分析に必要な情報を瞬時に求める

以下のように、特定の表から分析に必要な統計情報を瞬時に求める方法について解説していきます。


はじめに

特定の表から分析に必要な統計情報(平均値、中央値など)を取得する場合、Excelのアドインを活用すると良いです。
今回紹介する方法の場合、取得された値は数式ではなく、直接入力になります。
そのため、参照元のデータを編集しても、統計情報に関しては反映されません。
ただ、瞬時に統計情報を求めることができるため、非常に便利な機能になります。

ExcelVBAレベル確認

Excelアドインの追加

まずは、[開発]タブの中の[Excelアドイン]を選択します。
以下の画面にて、[分析ツール]にチェックし、[OK]で確定します。

この手順だけで、[データ分析]という機能が使えるようになります。


[データ分析]機能より統計情報を取得

[分析ツール]のアドインを追加すると、[データ]タブ内に、[データ分析]という機能が追加されます。

追加された[データ分析]を選択すると、以下の画面が表示されます。

こちらより、[基本統計量]を選択して、[OK]で確定します。
そのようにすることで、以下のような、統計情報を求めるための設定画面が表示されます。

こちらの画面にて、必要な情報を設定します。
上記では、[入力元]の[入力範囲]に評価の項目の範囲を指定し、[出力オプション]の[統計情報]にチェックしています。

必要な情報を設定し、[OK]で確定することで、以下のような統計情報を瞬時に表示することができます。


補足

今回紹介した方法で取得できた統計情報は、数式ではなく直接入力になります。
元データの編集を自動で反映させたい場合は、出力された統計情報を参考にして、数式で求め直すのが良いかと思います。

ただ、[データ分析]の機能を活用することで瞬時に求めることができるため、統計情報を確認したい時に、再度実行するというのも良いかと思います。

取得された最頻値に関しては、該当する値が複数件見つかった場合、最初に見つかった値のみが表示されます。
複数件見つかる可能性のあるデータの場合で、分析に必要な情報の場合は、MODE.MULT関数を用いて求め直すのが良いかと思います。
MODE.MULT関数を用いて最頻値を全て求める方法は、以下の記事にて解説しています。

>【Excel】最も頻繁に出現する値を抽出

2024/05/09
【業務】Googleフォームの項目を自動更新

【業務】Googleフォームの項目を自動更新

#Forms #フォーム #アンケート #FILTER #COUNTIF

YouTubeで開く

Googleフォーム(Forms)で作成したアンケートフォームの項目を自動で更新する方法について解説しています。
こちらでは、日程調整のフォームにて、すでに回答された日程を選択しから除外し、新しい日程を追加する仕組みを実現しています。

仕組みを実現するにあたり、Googleスプレッドシートを活用しています。

00:00 挨拶
01:01 完成イメージ
01:53 準備
02:37 作成(フォーム)
06:30 作成(スプレッドシート)
13:08 作成(GAS)
28:02 完成
29:39 プログラムの全体
33:42 まとめ

2024/05/08
【Excel】ふりがな検索する方法

【Excel】ふりがな検索する方法

以下の表に関して、名前のふりがなで検索し絞り込む方法について解説していきます。


ふりがな列の挿入

フィルター機能を活用して、ふりがなで検索するには、ふりがなの項目を用意する必要があります。
まずは、名前の項目の隣に列を挿入し、項目名に「フリガナ」と入力します。

指定のセルのふりがなを取得する場合は、PHONETIC関数が便利です。

=PHONETIC(参照)
// 参照:フリガナを取得したいセル

ふりがなの列の先頭行に、以下の数式を入力し、最終行までコピーして反映させます。

=PHONETIC(C3)

反映させると、上記のように、一部のふりがなが取得できない可能性があります。
この取得されるふりがなは、セルに直接入力した時の「漢字に変換する前の文字」になります。
そのため、外部からコピーして貼り付けた文字などに関しては、ふりがなの情報を持っていないため、正しくふりがなを取得することができません。

一度、正しく取得することが出来なかったふりがなを確認するため、ふりがなの項目を基準に降順にします。

正しく取得できなかった以下の7件に関しては、ふりがなを設定する必要があります。

ふりがなは1か所ずつ設定する必要がありますが、効率的に設定する方法もあります。
まずは、ふりがなを取得できなかった1つのセルを選択します。
こちらの場合は、セルC3になります。
対象のセルの上で「ShiftキーとAltキーを押しながら↑」を同時に押すことで標準のふりがなを表示させることができます。

表示されたふりがなに間違いがあれば直接修正し、正しいふりがなにしてEnterキーで確定します。

この作業を繰り返すことで、以下のように全ての行にふりがなを表示させることができます。


ふりがなで絞り込み

全てのふりがなを表示することができましたら、ふりがなの項目のフィルターボタンより、ふりがなで検索して絞り込むことができます。

2024/05/06
【Excel】指定した範囲内で列幅を自動調整

【Excel】指定した範囲内で列幅を自動調整

列の幅を自動調整する方法として、列名の位置の境界をダブルクリックする方法があります。
ただ、この方法ですと、以下のような表の上にタイトルを含むシートですと、理想通りの幅にならないことがあります。

こちらでは、理想通りの列幅に自動調整する方法について解説していきます。

ExcelVBAレベル確認

列の幅の自動調整

まず初めに、自動調整したい対象の範囲を選択します。
以下の表の場合は、B列からC列を全選択し、不要なセルをCtrlキーを押しながら選択することで選択を解除すると、理想の範囲のみを選択できるかと思います。

次に、[ホーム]タブの中の[書式]の中にある[列幅の自動調整]を選択します。

この手順を行うことで、以下のように選択した範囲内で列幅を自動調整することができます。


補足

この機能をよく使用する場合は、コマンドを覚えることで効率的に実行することができます。
そのコマンドは「Alt→H→O→I」です。

「Alt」を押すと、タブにキーが表示されます。
以下の中から、[ホーム]タブ上に表示されているキーの「H」を押します。

次に、リボン内にキーが表示されるため、[書式]の下に表示されているキーの「O」を押します。

最後に、[列の幅の自動調整]の隣に表示されているキーの「I」を押すことで、機能を実行することができます。

このコマンドの覚え方は「Altほい(HOI)」がおすすめです。

2024/05/04
【番外-031】意外と知られていない小技

【番外-031】意外と知られていない小技

#CHAR #CODE #RANDBETWEEN #INDEX #フォーム #ショートカット #罫線 #フィルター

YouTubeで開く

意外と知られていないが、実は便利な小技を10個解説しています。

00:00 挨拶
00:13 ①空白が上になるように並べ替えする方法
02:55 ②表の途中に行を瞬時に挿入する方法
04:02 ③列幅を瞬時に自動調整する方法
05:19 ④データ行を簡単に移動する方法
06:13 ⑤表の中からランダムに値を抽出する方法
08:06 ⑥セルの複数選択のミスを減らす方法
10:03 ⑦連続したアルファベットを入力する方法
14:31 ⑧表の中の一部の罫線を瞬時に消す方法
15:43 ⑨マウスホイールを使って横方向にスクロールする方法
16:43 ⑩フォームを活用して表を操作する方法
20:04 まとめ

2024/05/03
【Excel】片方にしか存在しない値を見つける

【Excel】片方にしか存在しない値を見つける

2つのグループを比較し、片方にしか存在しない値に「×」を表示する数式の作成方法について解説していきます。

前半は、「「×」を表示する可能性がある全てのセルに数式を入力して実現する方法」について解説し、後半は、「スピルを活用して、それぞれのグループに対し、1つずつの数式のみで増減にも対応させる方法」について解説していきます。

後半の方法ですと、誤って数式を削除することが減るため、スピルに対応している場合はおすすめです。


全てのセルに数式を入力する

まずは、「「×」を表示する可能性がある全てのセルに数式を入力して実現する方法」について解説していきます。

初めに、どのような条件の時に、値の隣に「×」を表示するのかを明確にする必要があります。
まずは、以下のAグループの先頭行について考えていきます。

セルC3に「×」を表示するかどうかは、以下の条件から判断できます。

・セルB3の値がE列に1つも存在していない場合に「×」を表示する

指定した値が指定した範囲内にいくつ含まれているのかは、COUNTIF関数を用いて求めることができます。

=COUNTIF(範囲, 検索条件)
// 範囲:確認する範囲
// 検索条件:範囲から数える条件

実際に、COUNTIF関数を用いて数えてみると、以下のような数式になります。

=COUNTIF(E:E,B3)

この数式の結果が0の時に、「×」を表示していきます。
そのため、この結果を元にIF関数で分岐させる必要があります。

=IF(論理式, 値が真の場合, 値が偽の場合)
// 論理式:TRUEもしくはFALSEを表す式
// 値が真の場合:論理式がTRUEの場合に表示する内容
// 値が偽の場合:論理式がFALSEの場合に表示する内容

実際に、先ほどのCOUNTIF関数と組み合わせたものが以下になります。

=IF(COUNTIF(E:E,B3)=0,"×","")

ちなみに、数値の0はFALSE、0以外はTRUEという意味にもなるため、以下のようにも表現することができます。

=IF(COUNTIF(E:E,B3),"","×")
// 「×」の位置が逆になる

この数式を表の最終行までコピーすることで、相対参照で反映することができます。
※E列に関して、E3:E14などと行番号を指定している場合は、「$E$3:$E$14」のように絶対参照にする必要があります。

ExcelVBAレベル確認

次は、Bグループの判定になります。
Bグループに関しても先ほどと同様に、以下のような数式で実現することができます。

=IF(COUNTIF(B:B,E3),"","×")
ExcelVBAレベル確認

それぞれ1つのセルのみに数式を入力する

次に、「スピルを活用して、それぞれのグループに対し、1つずつの数式のみで増減にも対応させる方法」について解説していきます。

スピルというのは、数式を入力したセルから数式の結果を溢れて表示させる機能のことになります。
Excelのバージョンが2019以前のものに関しては対応していないため、実現することができません。

では、そんなスピルを活用して、以下の黄色のセルのみに数式を入力して実現する方法について解説していきます。

まずは、先ほど作成した数式から実現方法を考えていきます。

一度、先ほどの数式に関して、セルC3のみに残します。

=IF(COUNTIF(E:E,B3),"","×")

こちらの数式に関しては、セルB3のみを確認しています。
スピルを活用する場合、このセルB3を複数範囲にします。

例えば、100行目までデータの増減に対応させる場合、以下のような数式になります。

=IF(COUNTIF(E:E,B3:B100),"","×")

実際に数式を入力すると、以下のように表示され、16行目以降が「×」になってしまいます。

COUNTIF関数の検索条件に関しては、空白のセルを指定した場合、「0」という数値として扱われてしまいます。
そのため、E列には空白のセルを含んでいたとしても、「0」という値が存在しないため、「×」が表示されたということになります。

「×」を表示しない対策として、条件を加えていきます。
その条件は、以下の内容になります。

セルB3からB100に関して空白の場合は何も表示しない

そのため、更に、外側にIF関数で分岐させます。

=IF(B3:B100="","",IF(COUNTIF(E:E,B3:B100),"","×"))

IF関数を繰り返し使いたくない場合は、IFS関数がおすすめです。

=IFS(論理式1, 値が真の場合1, [論理式2, 値が真の場合2], [論理式3, 値が真の場合3], …)
// 論理式:TRUEもしくはFALSEを表す式
// 値が真の場合:論理式がTRUEの場合に表示する内容
// → FALSEの場合は次の条件が確認される(論理式1 → 論理式2 → 論理式3 → …)
// 全ての条件を満たさない場合は、「#N/A」というエラーになる

実際に活用すると、以下のような数式になります。

=IFS(B3:B100="","",COUNTIF(E:E,B3:B100),"",TRUE,"×")
// 最後の論理式をTRUEにすることで、「その他」という条件を指定できる

この数式を入力すると、以下のように表示されます。

ただ、この状態ですと、3行目を削除した場合に数式も消えてしまいます。
そのため、より数式が消されてしまう可能性を減らすため、数式をセルC2に移動します。


移動する際に、条件の範囲に関しても、以下のように変更する必要があります。

=IFS(B2:B100="","",COUNTIF(E:E,B2:B100),"",TRUE,"×")

ただ、このままですと、先頭行に関してもBグループ内容と比較され、「×」が表示されてしまいます。

そのため、以下のいずれかの条件を加える必要があります。

①B列の値が「A」の場合は何も表示しない
②2行目の場合は何も表示しない

①の場合は、項目名を変更する度、数式を修正する必要が出てくるため、こちらでは、②の方法について解説していきます。

行番号を確認するには、ROW関数を活用します。

=ROW(参照)
// 参照:行番号を取得したいセルを指定

実際にROW関数を組み合わせて表現した数式は、以下になります。

=IFS(ROW(B2:B100)=2,"",B2:B100="","",COUNTIF(E:E,B2:B100),"",TRUE,"×")

このようにして、Aグループに関しては1つの数式のみで実現することができました。


次は、Bグループの判定になります。
Bグループに関しても先ほどと同様に、以下のような数式で実現することができます。

=IFS(ROW(E2:E100)=2,"",E2:E100="","",COUNTIF(B:B,E2:E100),"",TRUE,"×")
ExcelVBAレベル確認

まとめ

こちらのシートを利用する人が全員スピルに対応している環境の場合は、後者のスピルを活用した方法の方が、数式が少なく、より保守的で良いかと思います。
スピルを使用する際、検索が必要な数式に関して、必要以上に範囲を広くしてしまうと、処理が重たくなる原因に繋がります。
そのため、指定する範囲に関しては、必要に応じて、今回のように「B2:B100」などと限られた範囲のみを指定した方が良いかと思います。

2024/05/02
【便利】セルの値からQRコードを生成

【便利】セルの値からQRコードを生成

#IMAGE #QRコード #API #Shape #画像

YouTubeで開く

セルに入力している値からQRコードを作成する方法について、「IMAGE関数を活用する方法」と「VBAを活用する方法」の2通りについて解説しています。

00:00 挨拶
01:16 完成イメージ
02:11 準備
02:48 「API」について
04:52 「API」の使い方
06:32 作成(IMAGE関数を活用)
08:36 作成(VBAを活用)
19:53 完成
20:40 プログラムの全体
23:35 まとめ

▼準備ファイル▼

2024/05/01
【Windows】隠し機能「GodMode」の作成方法

【Windows】隠し機能「GodMode」の作成方法

XP以降のWindowsのパソコンには、「GodMode:ゴッドモード(神モード)」という隠し機能が用意されています。
「GodMode」とは、Windowsに関する様々な設定が一覧となって表示される隠し機能になります。

こちらでは、そんな「GodMode」の作成方法について解説していきます。

ExcelVBAレベル確認

「GodMode」の作成方法

まず初めに、「GodeMode」を表示したい位置(デスクトップや指定のフォルダの中など)で右クリックし、[新規作成]より空のフォルダを作成します。

その作成したフォルダの名前を以下の名前にします。

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

名前を変更して確定すると、アイコンが以下のようなものになります。

これが「GodMode」のアイコンになります。
こちらを選択して開くことで、Windowsに関する様々な設定が集約された画面を開くことができます。

2024/04/29
【Word】指定した位置でページを分ける

【Word】指定した位置でページを分ける

Wordでの文章に関して、好みの位置でページを分ける際に、ひたすらEnterで改行を加えてページを分けている資料を見ることがあります。

この方法ですと、見た目は問題ないのですが、文章を修正した際にページの区切りが移動してしまう可能性があります。

そのため、正しいページの分け方と、それを瞬時に行う方法について解説していきます。


ページを分ける方法

まずページを分けた際に、先頭に持っていきたい箇所にカーソルを移動します。

カーソルを移動することができましたら、[挿入]タブの中の[ページ区切り]を選択します。

これだけで、以下のような中途半端な位置に改行マークが入力され、ページが分けられます。

上記の赤い丸の位置を基準にページが分けられています。
そのため、赤い丸の位置よりも手前の文章を修正したとしても、次のページの開始位置が移動してしまうことはありません。

ページの区切りを無くしたい場合は、赤い丸の位置にカーソルを移動させ、バックスペースキーで改行のマークを消すことで、区切りを無くすことができます。


補足

[挿入]タブの中の[ページ区切り]の上にカーソルを移動させ、しばらく待つと、以下のように機能説明とともにショートカットが表示されます。

Wordで文章を作成する際に、ページを分ける作業を繰り返し行う場合は、「Ctrl+Enter」のショートカットを活用すると、より快適に行えます。

2024/04/27
【2-数式10】空白の演算子とは

【2-数式10】空白の演算子とは

#空白 #マトリックス表 #MACTH #INDEX #VLOOKUP #INDIRECT

YouTubeで開く

Excelの参照演算子には「半角スペース」というものがあります。
(例)=A1:A10 B2:D2
この演算子の使い方と活用例について解説しています。

00:00 挨拶
00:59 準備
01:11 空白の演算子とは
02:16 活用例
09:33 活用例(応用)
23:42 補足
23:57 まとめ

▼実践用ファイル▼

2024/04/26
【ExcelVBA】VBAを使ってシートの初期設定を自動化

【ExcelVBA】VBAを使ってシートの初期設定を自動化

Excel関連の何かしらの作業を自動化する際に、便利な機能としてマクロというものがあります。
このマクロを開発することができるプログラミング言語がVBAになります。
こちらでは、次の作業を自動化するマクロを、VBAを用いて開発する方法について解説していきます。
※開発したファイルは記事に最後にて配布しています。


作業内容

1.以下のテンプレートシート「YYYYMMDD」のコピーを作成し、シート名を作業日の日付(YYYYMMDD形式)にする

2.コピーしたシートのセルB2に作業日の日付を入力する


1. 開発の準備

では早速、自動化するマクロを開発していきます。
※開発したマクロに関しては、「Ctrl+Shift+A」というショートカットで実行できるようにも設定していきます。

まずは、[開発]タブを選択し、その中の[マクロ]を選択します。

次に、以下の画面にて、好みの名前を入力し、[作成]を選択します。
こちらでは「シート作成」と入力しています。

表示されました以下の画面にて、プログラムを記述していきます。
※「Option Explicit」は設定内容によっては表示されません。

ExcelVBAレベル確認

2. コードの記述

記述する内容は、以下になります。

こちらのプログラムに関して、1行ずつ解説していきます。

まずは、以下の内容について解説します。

Worksheets("YYYYMMDD").Copy After:=Worksheets(1)

こちらでは、「YYYYMMDD」のシートをコピーし、2枚目の位置に貼り付けています。
「Worksheets(1)」が先頭から1番目のシートを指しているため、「Copy」というコピーする機能の設定(引数)の「After」に「Worksheets(1)」を指定することで1番目のシートの後ろと指定しています。

次は、以下の内容について解説します。

With ActiveSheet
    .Name = Format(Date, "yyyymmdd")
    .Range("B2").Value = Date
End With

まずは、「With」について解説します。
「With」を用いることにより、「With」から「End With」の間に関して、「With」の後ろに指定した要素「ActiveSheet」を省略して記述することができるようになります。
省略して記述する場合は、「.」から記述します。

つまり、以下のプログラムと同じ意味になります。

ActiveSheet.Name = Format(Date, "yyyymmdd")
ActiveSheet.Range("B2").Value = Date

同じ要素(こちらでは「ActiveSheet」)に対して操作する場合は、「With」で囲むことによって、処理の塊が分かりやすくなります。

では次に、以下のプログラムについて解説します。

ActiveSheet.Name = Format(Date, "yyyymmdd")

「ActiveSheet」とは現在選択されているシートを指します。
シートをコピーして複製すると、その複製されたシートが自動で選択されるため、「ActiveSheet」は新たに追加したシートのことを指しています。
そのシートの名前「.Name」を「Format(Date, “yyyymmdd”)」で、マクロを実行した日付にしています。
「Date」で、マクロを実行した日付の情報を取得することができるのですが、シート名にはYYYYMMDD形式で設定したいため、Format関数を活用して、形式を変換しています。

では最後に、以下のプログラムについて解説します。

ActiveSheet.Range("B2").Value = Date

こちらでも先ほど同様に「ActiveSheet」を指定しています。
そのシートのセルB2「Range(“B2”)」の値「.Value」に、マクロを実行した日付「Date」を入力しています。


3. 完成

このようにして開発することができました。
開発したプログラムは、対象のプログラム名を指定し、実行ボタンを押すことで実行することができます。

実行することにより、以下のようにシートが作成され、セルB2に日付が入力されます。

注意点として、Excel上には同じシート名のシートを作成することができないため、同日に複数回実行すると、以下のようなエラーが表示され、処理が中断されます。

再度実行する際は、作成したシートを削除してから行う必要があります。 必要に応じて、シート名が重複した場合には「YYYYMMDD_2」のような番号を加えるようにプログラミングするのも良いかと思います。
その方法については、こちらでは省略します。


4. ショートカットの設定

最後に、ショートカットの設定方法です。
毎回、VBAの編集画面(VBE)を開いて実行するのは手間になるため、ショートカット活用するのがオススメになります。
まずは、[開発]タブの中の[マクロ]を選択し、以下の画面を表示します。

こちらの画面より、開発したプログラム名を選択し、[オプション]を選択します。

以下の画面の[ショートカットキー]のテキストボックスを選択し、Shiftキーを押しながらAキーを押すことで、「Ctrl+Shift+A」というショートカットを設定することができます。

設定後は、[OK]を選択して確定し、設定画面を全て閉じることで、CtrlキーとShiftキーを押しながらAキーを押すして、開発したマクロを実行することができるようになります。

こちらで開発したファイルは、以下から取得できます。

ExcelVBAレベル確認

まとめ

今回の内容は、VBAを用いて繰り返し作業を自動化する一例になります。
ぜひ、日々の繰り返し作業の自動化に、VBAを活用してみてください。
※理解していないプログラムの実行は、情報漏洩データの紛失などの大きな問題につながる可能性があるため、理解した上で実行してください。