誰かが私を助けてくれることを願っています。
Excelで同じフィールドから複数の値の合計を見つけたいのですが、可能ですか?
私のサンプル列は次のとおりです。
0,0,1,1,1,2
これらすべての値を合計して、出力に合計列を表示したいと思います
ありがとう
@techdoの回答に基づいて構築します(そして、彼の回答に賛成票を投じるか、受け入れてください-私がしているのは、これを具体化することだけです)これを行う方法は次のとおりです。
まず、@techdo のコードを実装する関数を作成します。
CREATE OR REPLACE FUNCTION SUM_CSV(pin_Csv IN VARCHAR2)
RETURN NUMBER
DETERMINISTIC
IS
strFormula VARCHAR2(1000);
nResult NUMBER;
BEGIN
strFormula := REPLACE(pin_Csv, ',', '+');
EXECUTE IMMEDIATE 'BEGIN :out := ' || strFormula || '; END;' USING OUT nResult;
RETURN nResult;
END SUM_CSV;
関数は決定論的でなければならないことに注意してください。つまり、与えられた入力値に対して常に同じ結果を生成します。
次に、関数 SUM_CSV を呼び出す仮想列を含むテーブルを作成します。
CREATE TABLE csv_test
(text VARCHAR2(1000),
total NUMBER AS (SUM_CSV(text))); -- virtual column
次に、テーブルに挿入します。
INSERT INTO CSV_TEST(TEXT) VALUES('1,2,3,4,5');
挿入をコミットしてから、値をフェッチして戻します。
SELECT * FROM CSV_TEST;
そして、あなたは得る
TEXT TOTAL
1,2,3,4,5 15
共有してお楽しみください。