VBAでクイックソート(改良版)

前にVBAでクイックソートをする方法を紹介しましたが、配列の扱いがよく分からず、CSVに変換して行う方法でした。
今回、配列の処理方法が分かったので、コードを書き直してみました。
処理が劇的に速くなりました。バブルソートなど他のソートとは比較になりません。 (さらに…)

VBAでReDimを使って配列の無駄を省く

VBAで配列を使うにはDimで宣言する必要がありますが、ReDimを使うと配列のサイズを変えることができます。
基本的な使い方をメモしておきます。 (さらに…)

VBAでクイックソート

前にVBAでバブルソートと選択ソートを行うためのユーザー定義関数を紹介しましたが、今回はクイックソートについて作ってみました。

追記(2015年8月31日)
改良版について記事を書きました。 (さらに…)

矩形範囲を配列として取得

Excelのマクロで「複数のセルに値をセットするときは配列を使うと処理が速い」ということを紹介しました。
複数のセル(範囲)に配列を使って値をセットするだけでなく、配列として値を取得することができます。
「arrs = Range("a1:b2").Value」のようにすると指定した矩形範囲の値を配列として取得できます。 (さらに…)

JavaScriptで配列を操作する

少し前にJavaScriptで配列をシャッフルすることを考えましたが、同じようにして配列を操作するいくつかのサンプルを考えました。 (さらに…)

JavaScriptで配列をシャッフルする

PHPには配列の要素をシャッフルする「shuffle」という関数がありますが、JavaScriptにはないので、メソッドを自作して使っています。
シャッフルというのは要素をランダムにするのではなく、要素の組合せは変えずに順番をランダムにすることです。
[0, 1, 2, 3, 4] を [3, 1, 2, 0, 4]にするような処理です。 (さらに…)

JavaScriptの配列は結合して比較する

次のように変数のaとbに配列[1, 2, 3]を代入します。
aとbは同じはずですが、比較するとなぜかfalseになります。 (さらに…)

JavaScriptの配列関連メソッドをVBAのユーザー定義関数に

VBAでも配列が使えますが、今一つ使いにくいです。配列関係の関数が少ないからでしょうか。
そこでVBAの配列について勉強を兼ねてJavaScriptの配列関連メソッドと同様の処理をするユーザー定義関数を考えてみました。

変数 a, b, c は配列です。
変数 x, y は数値です。
エラー処理は全く考慮していません。配列の宣言も省略しています。Excel2007で確認しました。 (さらに…)

JavaScriptでExcelのRANK関数を再現

配列中の順位を調べる方法を考えました。
ExcelにRANK関数がありますので、これを再現してみます。

サンプルは下の通りです。
updownに従ってarrs内の数値を並べ替えたとき、valueが何番目に位置するかを返します。
updownは、省略または0は降順(最多が1位)、0以外は昇順(最少が1位)となります。 (さらに…)

JavaScriptで順列、組合せ

JavaScriptで配列と抜き取り数を与えると全ての順列、組合せを配列で返す関数です。 (さらに…)

新しい記事 | 古い記事

タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報