Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

配列

配列定数に変数を差し込む方法

以前に下記のExcelクイズに解答したことがある。 高校以降では連立方程式を解くのに行列を使います。これを応用しているのがKouさんの回答です。https://t.co/hccsHw5b8o定数配列の一部に変数を差し込むというテクニックも有用そうです。— 遊牧家族/yuuboku …

表データを操作する5つの方法 + 1

前回は5つの方法で表データを操作してみた。 www.excellovers.com 次の抽出に進む前にもう1つ集計方法を追加してみる。 SQLite For Excel コード 処理時間 まとめ SQLite For Excel 当blogではおなじみSQLite For Excelを候補に加えます。 今回の事例のよ…

表データを操作する5つの方法を体感してみた

Excelと言えば表である。 VBAから表のデータをまとめて操作する方法としては配列が挙げられる。 ところが最近空のRecordsetを使用する方法があることを知って勉強しようと思った矢先に、ArrayListなる機能もあると知ってなにがどう違ってどう良いんだ~とな…

一風変わった?動的配列の宣言方法

動的配列を宣言する時はどうしていますか? Dim Var() as variant Redim Var(1 to 3) 上記のように変数名の後に()をつけて宣言し、 Redimで要素数を指定してから使用するのではないでしょうか。 しかし今回長年見慣れたこの方法とは違う宣言方法に出会いま…

ADODBを利用して指定した件数ずつ新しいシートにデータを転記する方法

いつも勉強させていただいているinfomentさんのblogで以下のような記事を公開されていました。 infoment.hatenablog.com ADODBにまさに上記のような機能があったはずと思いだして自分なりに作ってみた。 早速コード Sub ページ分割() '参照設定でMicrosoft A…

sumproduct関数でのOR条件の指定

前回はsumifs関数でのOR条件の指定方法を紹介した。 www.excellovers.com 今回はみんな大好きsumproduct関数をsumifsの代替で使用する際のOR条件の指定方法を紹介します。 ※大好きだよね? OR条件公式 前回と同じ事例に対して3つの方法を作ってみた。 まず…

文字列を区切り文字で区切って配列化する関数

ここ最近twitterで #エクセルクイズというタグで出題されている問題に色々とチャレンジしてきました。 その中で配列数式を使用することも多かったのですが、自分の思いもよらない使い方をされているのを見かけて勉強になりました。 今回はその集大成として文…

配列から空白(Empty)を取り除く方法

セル範囲を一括で配列に取り込んだ際などに、空白が紛れ込むことがあります。 そのような場合に配列から空白を除く方法を検証してみます。 空白のある元データ 簡単なデータを用意しました。 このセル範囲を配列に取込、空白の削除を行うのが以下のコードで…

CSVファイルを配列へ取込、データベースへ高速Insert

前回CSVファイルを全件一括で取り込もうして失敗してしまいました。 www.excellovers.com コメントで「1行ずつ配列にいれてみては」とアドバイスを頂きましたので、実践してみました。 高速かつ手間いらず データ量:566,401×70のCSVファイル。213MB。 処理…

配列を使って高速化しようとして失敗したお話

タイトルそのままですが。 今日試して撃沈したネタをご紹介します。 セル範囲を配列へ取り込み高速化 VBAでの処理高速化ネタの一つにセルへのアクセスを極力減らすというものがあります。 そのためにセル範囲を一旦配列へ格納してから諸々の処理を行うと処理…

配列のセルへの一括転記(3.転記の方法と大量データの並び替え)

前々回で配列の並び方、前回で行列の並び替えについて調べてみました。 www.excellovers.com www.excellovers.com 今回は配列のセルへの一括転記とTranspose関数の限界を超える大量データの並び替えについて調べてみました。 Transpose関数の限界と対応 配列…

配列のセルへの一括転記(2.配列の行列並び替え)

前回は配列のデータの並び方について調べました。 www.excellovers.com 今回は前回解説した3種類の配列について、それぞれ行列並び替えをした際に どのようにデータ並び替わるのかを調べてみたいと思います。 Transpose関数で行列並び替え VBAで配列の行列…

配列のセルへの一括転記(1.配列の並びとは)

VBAで取得している配列をTranspose関数で行列を入れ替えて、 セル範囲へ一括貼り付けをよく使います。 配列からの一括転記にすると処理がかなり高速化されます。 しかしこのTranspose関数を使えば良いのか使わなくていいのか、 2回使わないといけないのかで…