0

誰かが私を助けてくれることを願っています。

Excelで同じフィールドから複数の値の合計を見つけたいのですが、可能ですか?

私のサンプル列は次のとおりです。

0,0,1,1,1,2

これらすべての値を合計して、出力に合計列を表示したいと思います

ありがとう

4

3 に答える 3

0

@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

共有してお楽しみください。

于 2013-04-08T11:35:23.747 に答える