shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

2023-01-01から1年間の記事一覧

【Excel】数式と計算結果を並べて表示する方法

Excelの計算結果をチェックする目的で、数式と計算結果を並べて表示や印刷したい場合、数式を文字列として表示するFORMULATEXT関数が便利です。 Excelの数式メニューにある「数式の表示」や、ショートカットキー「Ctrl+Shift+`」で、数式表示の有無を切り替…

【Excel】特定の文字列の間の値を抽出する方法(TEXTBEFORE/ TEXTAFTER 関数)

Microsoft365のExcelで、特定の文字列の間の値を抽出する方法は、TEXTBEFORE/ TEXTAFTER 関数が便利です。この関数は、従来のLEFT関数やFIND関数などの組み合わせよりも、シンプルに文字列を抽出できます。 ただし、この関数が使えないバージョンのExcelでは…

【Excel】 セルを効率的に選択・削除する方法(数式のみ、数式以外、数値のみ)

Excelのシートから、 ・数式のみを選択したい。 ・数式以外のデータを削除したい。 ・数値のみを削除したい。 といった選択や削除をしたい時は、「検索と選択」のメニューにある機能を使用すると対象をまとめて選択できます。その後、必要ならそのままDelete…

【Power Automate】処理速度は編集画面での実行が遅く、フロー一覧での実行が早い

Power Automate Desktopの実行は、編集画面とフロー一覧で処理速度が違う。ループ処理など処理回数が多い場合、編集画面から実行すると、実行遅延等の時間含めて処理時間が長くなる。編集画面での実行で処理速度が遅いと感じたら、フローの一覧表示から実行…

【Power Automate】2次元配列のDataTableでFor eachの実施例

Power Automateで、2次元配列のDataTableをFor eachループによる処理サンプル。 For each アクションを使用してデータテーブルをループする場合、反復処理の対象となる変数はデータ行となります。そのため、個々の値を抽出する場合は、データ行を再度For eac…

【Power Automate】ユーザーが選択したフォルダ内のファイルを順番に処理する事例

Power Automate Desktopで、ユーザーが指定フォルダを選択し、当該フォルダ内のExcelファイルを順番に処理する事例。 複数ブックの値を抽出する次のサンプル(フォルダは固定で指定)をベースにフォルダーの選択ダイアログを表示させるフローに修正事例。

【Power Automate】Excelの表から値抽出(2次元配列のDataTableから取得)

Power Automate Desktopの「Excel ワークシートから読み取る」のステップで、値をDateTable(データテーブル)で取得した場合など、データテーブルから値抽出の基本。 基本 例えば、次のようにExcelDataという変数に、データテーブル型で5行5列の2次元配列が…

【Excel】セルの参照元ファイルを効率的に開く、ジャンプする方法

Excelのシートで、他のブックの値を参照しているセルで、元データのファイルを効率的に開く方法の備忘録。例えば、セルに ='C:\aaa\[test.xlsx]Sheet1'!$A$1 という数式が入力されていて、参照元の値が表示されているとします。そのとき、元データのファイル…

【Excel VBA】指定フォルダ内の全てのサブフォルダを一覧表示するコード例

VBA

VBAで、指定フォルダ内にある全てのサブフォルダを一覧表示するコード例。何かの処理目的で「フォルダ情報だけ一覧にしたい」「全てのフォルダを対象に処理をしたい」といったケースで、再帰プロシージャの基本サンプルです。 事例の前提 Excelファイル内に…

【Excel VBA】他のブックのセルの値を取得するユーザー定義関数の検討結果

VBA

ExcelのINDIRECT関数は、同じブック内にある複数のシートの値を抽出する場合には有効ですが、他のブックの値を抽出する場合はブックを事前に開いておく必要があります。なるので、Excelの数式として利用できるユーザー定義関数で対応できないかを検討した備…

【Excel VBA】PDF変換時にビューアーが起動しないようにする方法

VBA

Excel VBAで、ExcelシートをPDFファイルに変換するとき、デフォルトではPDFファイルが保存された後にビューアーが起動してファイルが表示されます。便利な機能ですが、複数のPDFファイルに連続で変換する場合などは、ビューアーの起動は余分です。

【Excel VBA】シートを複数選択する方法(For 文などのループで)

VBA

Excel VBAで、シートのインデックス番号で、複数選択する方法。For 文などのループで、選択したシートを一つずつ処理ではなく、一旦該当するシートを全て選択して処理したいときがあります。このようなケースでは、Worksheet.Select メソッドのパラメーター…

【Excel VBA】指定フォルダ内のExcelファイルを順番に処理(FileSystemObjectの利用)

VBA

ExcelのVBAで、ユーザーが指定フォルダを選択し、フォルダ内のExcelファイルを順番に処理するサンプル。前回のDir関数を利用した方法と同様の処理をFileSystemObjectを利用して実現するサンプルです。 前回のDir関数の方法は、サブフォルダ内の処理ができな…

【Excel VBA】指定フォルダ内のExcelファイルを順番に処理(Dir関数の利用)

VBA

ExcelのVBAで、ユーザーが指定フォルダを選択し、フォルダ内のExcelファイルを順番に処理するサンプル。Dir関数を利用した方法で、別途紹介するFileSystemObject の方法を基本とした方がよい印象 Excel操作で処理が完結するような業務は、VBAでの処理が便利…

【Power Automate】ワークシートに含まれる使用可能なすべての値(データ取得事例と注意点)

Power Automate Desktopには「Excelワークシートから読み取る」というアクションがあり、セルの値を読み取り、転記などの自動化が可能です。このアクションの設定値に「ワークシートに含まれる使用可能なすべての値」を取得というのがあり、どのようにデータ…

【Power Automate】Excel ワークシートから最初の空の列や行を取得する(最小値は2)

Power Automateを使用して「Excelワークシートから最初の空の列や行を取得」アクションを実行する際、新しいシートでも最初の空の行や列は、2行目や2列目となるようなので備忘録。 1行目や1列目とならないので注意が必要ということ。 なお、使用のツールは「…

【Power Automate】Excelのセルの値を取得(複数ブックの値抽出サンプル)

Power Automate のサンプルフローとして、特定フォルダにあるExcelファイルからセルの値を取得し、一覧にする事例。使用のツールは、Windows 10 および Windows 11 ユーザーであれば、無償で利用することができる「Microsoft Automate Desktop」です。

WEBページの共有時、リンク先ページの特定の場所にスクロール、強調表示する方法

他者にWEBページの情報を共有する時、WEBページ内の特定文章の場所も示して共有したい時があります(リンク先URL、根拠となる文章部分など)。Microsoft Edge、Google Chromeなどに以前からある機能ですが、次のようにすることで、リンク先ページの特定の場…

【Excel】複数ブックのデータ(単票)を一覧表にまとめる方法の比較

Excelで複数のブックのデータ(単票)を一覧表にまとめる方法にはいくつかの選択肢があります。Excel関数、VBA、Power Queryなどを活用したこれまでの備忘録を中心にデータの状況と対応例をまとめてみました。 個人的な結論は、VBAを使った方法が汎用性も高…

【Power Query】列のピボット解除で、単票形式のExcelシートからセルの値を抽出

前回はPower Query(パワークエリ)のカスタム関数の作成事例として、単票形式のExcelシートからセルの値を抽出する方法を紹介しました。今回は列のピボット解除などを活用して、同様にセルの値を抽出する方法の備忘録。 個人的な結論として、カスタム関数の…

【Power Query】カスタム関数の作成事例:単票形式のExcelシートからセルの値を抽出

Power Query(パワークエリ)のカスタム関数の作成事例として、単票形式のExcelシートからセルの値を抽出する方法の備忘録。 カスタム関数が利用できると、データ抽出等の作業効率化も可能。 単票形式で紙印刷のレイアウトはPower Queryでの抽出も手間となる…

【Power Query】動的な列名に対応するため、列を数値で指定する方法

Power Queryで、元データの列名が変わるなど動的な列名に対応するため、列番号を示す数字で列を指定したい場合があります。Table.ColumnNames関数を利用すると、列名ではなく数値で列指定が可能で、方法の備忘録。 これにより、クエリ更新時に列名が変わる場…

【Excel VBA】複数ブックのデータ(単票)をセル位置変更があっても一覧表にまとめた事例

VBA

ExcelのVBAで、複数ブックのデータ(単票)をセル位置変更があっても一覧表にする事例。 前回の「【Excel VBA】複数ブックのデータ(単票)を一覧表にまとめる事例」は、同じフォーマットのExcelファイルが前提でした。 しかし、様式変更による項目追加など…

【Excel】シートの保護で特定セルの編集は許可、メモの編集は不可にする

Excelで入力用の様式を作成し、記入依頼、回収する場合は、レイアウト等を変更されないようにシートを保護することが有効です。保護する内容もいくつか設定可能です。例えば、特定セルだけ編集できるようにし、「メモ」は編集・削除できないようにできます。…

【Excel VBA】複数ブックのデータ(単票)を一覧表にまとめる事例

VBA

ExcelのVBAで、複数ブックのデータ(単票)を一覧表にまとめる事例です。Power Queryでの集計が難しい「神エクセル」と言われるような、紙印刷のレイアウトを前提にしたExcelシートをVBAで一覧表にした備忘録。 同じフォーマットで入力されたExcelファイルを…

【Excel VBA】複数シートのデータを抽出して一つのシートにまとめる事例

VBA

ExcelのVBAで、複数シートのデータを抽出して一つのシートにまとめる事例の備忘録。前回、INDIRECT関数を活用して「複数シートのデータを抽出して一つにまとめる方法」を記載しました。この方法は、シートの枚数が多い場合や、繰り返しシートの更新がある場…

【Excel】複数シートのデータを抽出して一つのシートにまとめる方法(INDIRECT関数の活用)

Excelで、同じフォーマットで入力されたデータが複数のシートにあるデータの集計作業では、INDIRECT関数の活用が有効な手段の一つです。 INDIRECT関数とは、セルに記述された「テキスト情報」が参照するセルの値を返す便利な関数です。 具体的な手順は以下の…

【Excel VBA】複数ブックのシートを一つのブックにまとめるサンプル

VBA

Excelのデータ集計業務は、Power Queryを使うことで効率化が図れる場面が多くあります。 しかし、Power Queryでは扱いにくいデータ操作もあり、自動化を考慮するとVBAの活用が効率的となることもあります。 特に、いわゆる「神エクセル」と言われるような、…

【Excel】XLOOKUP関数は、テーブル内で使用できない

XLOOKUP関数は、VLOOKUP関数と比較して便利な関数です。しかし、テーブル内で使用すると「#スピル!」となってエラー。XLOOKUP関数など、複数のセルに結果が戻る数式は使用できないようなので備忘録。 使用のExcelは「Microsoft® Excel® for Microsoft 365 MS…

【Power Queryの初歩】簡単な事例説明(起こりそうなエラーと対応の事例)

Power Query(パワークエリ)の初心者の方が知っておくとよいエラーと対応の事例。簡単な事例ですが、通常の編集作業で起こりそうなエラーと対応方法の備忘録。Power Queryでのエラー対応の基本として紹介。 次の事例は、クエリの結果を変更したいケースで、…