0

私は、dset関数またはVisualBasicスクリプトの恩恵を受けるExcelプロジェクトに取り組んでいます。私が想像しているのは、Excelのdgetデータベース関数に似た関数ですが、基準を満たすデータベース/テーブルからデータを取得する代わりに、基準を満たす交差点のテーブルにデータを設定/挿入します。私はかなり大きなデータセットを持っているので、関数は効率的である必要があります。

私のテーブルは次のような構造になります。ここに画像の説明を入力してください

次のようなことを実行できるようにしたいと思います。

dset(NetSales,Actual,FY10,Jan,Jan_Fcst_Amt,1000)  

ここで、1000は私が設定している値です。

私の目標は、予測シナリオを抽出し、それをテーブルに入力して、ピボットテーブルのデータソースとして機能させることです。

誰かがこのようなことをしたことがありますか。最善のアプローチは何ですか。どんな助けでも大歓迎です。

4

1 に答える 1

1

考えられるアプローチは次のとおりです。

行を選択するのに役立つ列を連結する非表示の列を作成します(フィールド区切り文字を忘れないでください)。=A2 & "|" & B2 & "|" & C2 & "|" & D2

VBA関数Application.WorksheetFunction.Match()で、複合列の行検索フィールドの連結のオフセットを見つけるために使用します。

次に、を使用Application.WorksheetFunction.Match()して列検索フィールドのオフセットを検索します。

を使用ActiveSheet.Cells(x,y).Formula=zして、必要なセルを設定できます。

このアプローチにより、Excelの組み込み関数を最大限に活用できます。これは、VBAで記述できる関数よりも高速である必要があります。

于 2013-02-22T21:04:10.633 に答える