問題タブ [excel-udf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
63 参照

f# - Excel DNA UDF は未処理の値を入力として取得します

COM/PIA インターフェイスを介して Excel の動的な性質に対処できるように、F# でいくつかのヘルパー関数を作成しました。ただし、Excel-DNA UDF でこれらの関数を使用しようとすると、Excel-DNA が Excel から配列内の値を前処理しているため、期待どおりに機能しません。たとえばnull、に変わりますExcelDna.Integration.ExcelEmpty

これは、null. パターン マッチングにケースを追加することで、これを回避できます。

ただし、変換してから再度変換するのはもったいない気がします。Excel-DNA に UDF の範囲値の追加処理を行わないように指示し、COM/PIA インターフェイスと同等のものを提供する方法はありますか? すなわちRange.Value XlRangeValueDataType.xlRangeValueDefault

編集: 私は自分の引数を次のobjように宣言します:

0 投票する
0 に答える
26 参照

excel - 数式でのExcelの範囲と引数の衝突

以下の式を使用して合計を計算しています。この式は、列「支払い済み」の下の同じ行に「はい」という文字列が書かれている値の合計のみを計算します。また、特定の背景色のセルを特定の範囲で検索し、指定した背景色のセルのみを含む範囲を返す独自の UDF も作成しました。

(セミコロンについて混乱している場合は、私のコンピューターの言語がスウェーデン語であるため、これが Excel で使用される標準のリスト区切り記号です。コンマに変更しようとしましたが、それは役に立ちませんでした)

問題は、この特定のケースでは、最初の「SelectRangeByColour」関数が$M$5:$M$7;$M$15のような範囲を返し、2 番目の関数がこの範囲を返すことです: $I$5:$I$7 ;$I$15 . ただし、セミコロンは範囲内の値を区切るためだけでなく、関数SUMIFのさまざまな引数を区切るためにも使用されるため、関数はあまりにも多くの引数を受け取り、#VALUE !を出力します。エラー。

これは、SUMIF関数が最終的に解析しようとするものです。

したがって、$M$5:$M$7をメイン領域、$M$15を条件、$I$5:$I$7をオプションの合計領域、最後に$I$15を存在しない追加の引数と見なします。 .

ただし、SUMIF関数で$M$5:$M$7;$M$15をメイン領域として、「はい」を条件として、最後に$I$5:$I$7;$I$15を合計領域として解析する必要があります。どうすればこれを達成できますか?

以下は、UDF「SelectRangeByColour」のコードです。何らかの形で役立つ場合があります。