shikumika’s diary

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

2023-09-01から1ヶ月間の記事一覧

【Power Query】VLOOKUPの近似一致と同様処理:区間分け(ビニング)の方法

PowerQueryで、ExcelのVLOOKUP関数の「検索の型をTRUE」(近似一致)にする方法の備忘録。Excelでは、「年齢」を「年代」に変換など、区間分け(ビニング)にVLOOKUP関数は便利です。 PowerQueryでも同様の処理を実現したい場合があり、その手順は次のとおり…

【Excel】「年齢」を「年代」に変換など、区間分け(ビニング)の方法

データ分析時、数値データを適当な範囲(○以上△未満)で区切り、カテゴリーに変換して全体的な傾向を見たい時があります。例えば、「年齢」を「年代」に変換して年代ごとの度数分布表を作成するケースなどです。 このような場合は、ExcelのVLOOKUP関数、また…

【Power Query】Excelバージョンによる取込可能なデータソースの違い

ExcelのPowerQueryは、バージョンによって取込可能なデータソースが異なります。例えば、PDFをExcelにインポートする際にはPowerQueryが便利ですが、Office 2016やOffice 2019では利用できず、Microsoft 365のExcelで利用可能です。 JSONの取り込みは、Offic…

【Excel】複数回答の選択肢がセル内でカンマ区切りのデータ集計

Excelで、セル内にカンマで区切られたデータ(アンケートの複数回答など)を集計したいとき、Microsoft365のExcelなどにあるTEXTSPLIT関数が便利です。 TEXTSPLIT関数が使える場合、カンマなどの区切文字でセル内の文字列を分割できます。 具体的なアウトプ…

【Excel】複数回答の選択肢が列ごとにあるアンケートデータの集計

Excelでアンケートデータを分析する際など、ピボットテーブル機能を用いて分析するために、複数の列にあるデータを行方向のデータに変換したい時があります。マトリクス表をリストに変換する操作、つまり列のピボット解除です。 前提として、最近のExcelに標…

【Power Query】列のピボット解除で、マトリクス表をリストに変換

Power Query(パワークエリ)には、マトリクス表をリストに変換できる「列のピボット解除」という機能があります。 「列のピボット解除」には、「その他の列のピボット解除」と「選択した列のみをピボット解除」を含めて3種類あり、それぞれの処理の違いに…

【Excel】外部参照で「値の更新」が出てファイル選択が求められた事例

Excelの外部参照は、他のExcelファイルのデータを参照するための便利な機能です。しかし、OneDrive上にあるファイルを参照する場合、予期せぬ挙動でエラーとなったので備忘録。 なお、使用のExcelは、Microsoft® Excel® for Microsoft 365 MSOです。 発生し…

【Excel VBA】Setでワークブックを変数に割り当て(オートメーションエラーの発生事例)

VBA

ExcelのVBAを使って作業を自動化する際、ワークブックを変数に割り当てることはよくあります。このとき、変数が不要になったらSetステートメントでNothingを実施しておかないと、次のような"オートメーションエラー"が発生することがあります。 実行時エラー…

DXに関する資料まとめ(リンク集)

DX(デジタルトランスフォーメーション)の取り組みについての情報収集で、公的資料等を中心にリンク先をまとめてみました。 内容: DXの定義 デジタルガバナンス・コード 中堅・中小企業等向け「デジタルガバナンス・コード」実践の手引きについて 「『デジ…

【Excel】複数シートの表を一つのシートに結合する方法(VSTACK関数の活用)

Microsoft365のExcelには、複数シートの表を一つのシートに結合する際に便利なVSTACK関数があります。 リスト形式のデータ(列ごとに同じ種類のデータが入力された表)を一つの表にまとめるような関数です。もちろん、複数の表が一つのシートにある場合の結…

【Excel VBA】セルのアクティブ化でエラーが発生する原因と対応

VBA

ExcelのVBAで、セルのアクティブ化や選択をしようとすると、セルが存在するにも関わらず「実行時エラー '1004': Range クラスの Select メソッドが失敗しました」「Range クラスのActivate メソッドが失敗しました」というエラーが発生する時があります。 し…

【Excel VBA】処理が止まらない時に強制停止する方法(Breakキーがない場合)

VBA

VBAの実行時、ループ処理が終わらないなど、処理が止まらず困った時に備えて、強制停止の方法を知っておくことは重要です。 基本の方法 基本の方法は、「Ctrl + BREAK」 キーを選択です。 もしくはEscキーの選択や、「Ctrl + Pause」キーなどで、VBAの実行を…

【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…