top of page

​タグ一覧

配列処理(67)

階層化フォーム(33)

ファイル操作(23)

シート・セル操作(11)

コード自動生成(10)

ユーザーフォーム(8)

図形操作(7)

GAS(5)

アニメーション(5)

技術解説(4)

副業(4)

考え方(4)

条件付き書式(4)

イミディエイトウィンドウ(3)

Enum(3)

Googleスプレッドシート(3)

ココナラ(3)

クリップボード(3)

介護(3)

開発効率化(2)

イベントプロシージャ(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Excel(2)

Excel小ネタ(2)

数学(2)

Outlook(2)

文字列操作(2)

小説(2)

HTML(2)

JavaScript(2)

日報(2)

カレンダー(2)

パズル(2)

ステータスバー(1)

コード解析(1)

静的変数(1)

OneDrive(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

六角形(1)

Excel遊び(1)

ボウリング(1)

時計(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

イベント(1)

溶接ロボット(1)

VBA(1)

脱Excel(1)

Discord(1)

ECサイト(1)

CSV(1)

楽天(1)

保育士(1)

シフト表(1)

CDP(1)

楽天市場(1)

経理(1)

javascript(1)

医療(1)

文書作成(1)

LookerStudio(1)

シフト(1)

セキュリティ(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

罫線(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

開発事例(1)

二次元配列の特定列をキーとして、配列をユニーク値ごとに分割する汎用プロシージャ Excel VBA

二次元配列の特定列をキーとして、配列をユニーク値ごとに分割する汎用プロシージャ Excel VBA

<概要>

 本記事では、二次元配列の特定列をキーとして、配列をユニーク値ごとに分割する汎用プロシージャDivideArray2DCol_Unique を紹介します。


Excel VBA では、ワークシート上ではフィルターやピボットで簡単に行える処理でも、配列上で同等の処理を行おうとすると記述が煩雑になりがちです。


本プロシージャを使用すると、

  • 二次元配列の任意の列を指定するだけで

  • その列のユニーク値ごとに行を抽出し

  • 「一次元配列の各要素に、対応する二次元配列を格納」


という構造で結果を取得できます。

内部では、

  • 指定列の抽出

  • ユニーク値の取得

  • 条件指定による二次元配列のフィルタ処理


といった汎用プロシージャを組み合わせて処理しており、配列をデータベース的に扱うための基盤処理として利用できます。


カテゴリ別集計、グループ単位の処理、後続ロジックへの受け渡しなど、実務での再利用性が高い汎用プロシージャです。


<実行例>

 実行例のサンプルコードは次の通りです

 上記コードで配列の中身の確認には以前に紹介したDPAを利用しています。


 実行結果のイミディエイトウィンドウは次のようになります。


DivideArray2DCol_Uniqueの実行サンプルの実行結果

 このように、二列目の「果物」「野菜」「飲料」それぞれ別々でフィルター処理して抽出された二次元配列が1つ1つ一次元配列に格納されてるっていうのが確認できます。


<関連コード>

 今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。


<関連記事>

 今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

 コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>


コメント

5つ星のうち0と評価されています。
まだ評価がありません

評価を追加
Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page