問題タブ [array-formulas]
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.
excel - 各セルを正しく読み取るために、UDF に Excel の配列式を使用する方法は?
G'Day、
Excelの配列数式(Control + Shift + Enter)が各セルを動的に数式に読み込む方法を理解するのに役立つ質問があります。
私が何を意味するかを示すために、簡単な例を作成しました。
私は小さな架空の農場を作成しました。いくつかの動物が名前でリストされており、動物が作る音を提供します。次のコラムでは、MakesSound というユーザー定義関数を作成しました。この関数は、動物が何であるかを入力し、その動物が発する音に応答します。以下のスナップショットの写真に示すように。
残念ながら、動物をリストする別のセルがあり、代わりにこのスナップショットのように終わることを配列式が拾うことができると思いました。
Quacksが他の動物の答えではないことを知っているので、列Bに異なるセルがあることをarrayformulaに認識させるにはどうすればよいですか。:-)
これは、比較用の arrayformulas の横にある式と、私が使用したコードを示す別のスナップショットです。
私は提案を受け入れます。
ありがとう、ピーター。
excel - 列の最初から 2 番目に古い日付を検索するための Excel の数式
1 人の従業員について複数行の情報を返す Excel のデータ クエリがあります。従業員は EmployeeID で並べ替えられ、データには給与と日付が含まれます。
従業員がワークブックの別のシートの VLookUp 内に配置する最初の賃金率を得るために、情報を日付の降順で並べ替えました。ここで、範囲内で 2 番目に早い日付を見つけることができるように、次の日付を指定する数式が必要です。これはできますか?
arrays - Sumproduct数式は#VALUEを返します!最後の配列がすべての行に数式を含む列を参照している場合はエラーになります。MS Excel 2010
ワークブック内の複数のシートの売上からコミッションを計算する簡単な方法を見つけようとしています。毎月、指定された月に販売されたアイテムのみの純利益の合計を見つける必要があります。
私が現在使用している式は次のとおりです。
- 列Pは販売日を示し、
- 列Mには、純利益を計算するための式が各行に含まれています。
- セルG4は、現在作業している月と年を入力する場所です。
私はそれが私に#VALUEを与えるだけであるという結論に達しました!列Mの各行の数式が原因でエラーが発生しました(例:) =IF(OR(F15=0,G15=0)," ",(F15-L15))
。
数式を含まない別の列(列Mの代わりに)を参照すると、完全に機能します(例:) =SUMPRODUCT((TEXT('Sheet Name'!$P$3:P24,"MY")=TEXT($G$4,"MY"))*'Sheet Name'!$G$3:G24)
。また、astriskをコンマに変更すると、数式が正しく計算されず、(--(TEXT
二重否定を追加しても問題は解決しません。
列Mから数式を削除せずに、この配列を計算するにはどうすればよいですか?
ご清聴ありがとうございました。
performance - Excelの計算時間の測り方
たとえば、どの式がより高速かをどのように見つけることができますか?
対
Vs 2 つのフィールドを新しい列に連結して行う
対 VBA
excel - MCONCAT 式の区切り文字の置き換え
私は MCONCAT 式を使用して (他の人からの成功と助けを得て)、複数の添付ファイル名の単一の文字列を作成して、それらを単一のレコードに関連付けています # (フラット ファイルとデータローダー)。
例: | 契約1 | ファイル名.pdf、ファイル名2.doc |
ただし、最初の読み込みが実行されたとき、名前にコンマが含まれるレコードはエラーになりました。これは、データ ローダーがコンマをファイル間の区切りとして認識しているためです。調査の結果、セル内の複数のファイル間の区切り文字として「@」を使用することにしました。現在、MCONCAT 式のコンマ区切り文字を「@」に置き換えようとして立ち往生しており、これまでのところ成果がありません。
私が今使っているコードは次のとおりです。
これは可能ですか?もしそうなら、私が完全に理解できるように、どのように&おそらく(あまり尋ねないのであれば)簡単な説明をしてください.
有望な解決策の例: | 契約1 | ファイル名.pdf @ ファイル名2.doc |
excel - 条件付きで一意の値をカウントする
列 AI には、さまざまな名前のリストがあります。列 B には、0 または 1 のいずれかの値があります。
列 B に 1 がある列 A からすべての一意の名前の数を取得したい.
以下の配列式を使用すると、一意の名前を数えることはできますが、列 B に条件を適用することはできません。
vba - 範囲内の各セルについて、別の範囲内の値が次のセルで見つかった場合は何かを実行します
私が構築したこのマクロは機能しますが、より高速なバージョンまたはより短い時間で同じことを行うフォーミュラを望んでいます。
私が持っているもの:
次の配列式で何かを機能させることができる唯一の他の方法
しかし、これは行 4 と 9 の場合のように部分一致では機能しません。また、この配列数式が vba マクロよりもはるかに高速であることに疑問を持っています。また、テストの維持がさらに必要になるという事実もあります。この場合、値の範囲 (F2:f3) は、その式を常に更新する必要があるか、元の範囲を F2:F100 のように作成する必要があるため、それだけ時間がかかります。
したがって、値の範囲内の任意の値 (この場合は F2:F3) が現在の行の Extra Info 列内にある場合、その行の Reason2 (Offset(0, -1) )) 一致した値に等しい。しかし、何も見つからない場合は、その行 (オフセット(0,1)) の理由を使用してください。
そして2番目の問題は、QueryTableが更新された後にマクロを実行する必要があることですが、変更されるクエリ内のセルにセル変更イベントとして設定すると、最終的なクエリテーブルがインポートされる前にマクロが実行されて終了します。並べ替えました。
excel - VBAを使用してExcelの2つの列を「仮想ヘルパー列」に結合する
連結して 3 番目のヘルパー列に結合する 2 つの列があります。
1 つは 4 桁の列で、もう 1 つは 1 桁です。
例えば:
次に、各識別子の列 C に一意の値がいくつあるかを示す配列数式を (各行にある識別子を使用して) 4 番目の列で実行します。
可能であれば、ヘルパー列の使用を回避したいと思います-コードで参照できる範囲(数値形式)をVBAで作成して、ヘルパー列を廃止できるようにします。
うまくいけば、それは誰かにとって意味があり、彼らはそれを行う方法を知っています.
前もって感謝します。
編集:申し訳ありませんが、以下のSantoshが提供する非常に有用な回答(私が抱えている別の問題で間違いなく使用できます)に基づいて、私は自分自身を完全に説明していないことに気付きました.
各行には識別子があります (ここでは COLUMN_IDENT として示されています)。
次に、(FREQUENCY 関数に基づく) 配列数式を使用して、一意の識別子 (この場合は 555 と 666) ごとに、連結された COLUMN C で発生する一意の値の数を示すテーブルを作成します。 555 の場合は 2、666 の場合は 2)。
私は次のようなレポートになります。
私がコードでやろうとしているのは、元のテーブルでヘルパー COLUMNC の必要性を取り除き、2 番目のテーブルで同じ結果を達成できるようにすることです。
繰り返しますが、事前に感謝します。