1

ここに私が取り組んでいるテーブルがあります(アスキーアート表現):

|---|---------|-----------|--
|   |A        |B          |
|---|---------------------|--
|1  |price    |override   |
|---|---------|-----------|--
|2  |10       |           |
|---|---------|-----------|--
|3  |20       |100        |
|---|---------|-----------|--
|4  |30       |           |
|---|---------|-----------|--
|5  |40       |90         |
|---|---------|-----------|--
|6  |50       |           |
|---|---------|-----------|--
|7  |150      |280        | <-- SUMS
|---|---------|-----------|--
|   |         |           |

列 A にはいくつかの価格があり、列 B には上書き価格があります。行 1 から 6 には価格があり、行 7 には合計があります。

行 7 は「=SUM(A1:A7)」として計算されます。

次のことを行うセル B7 の数式を書きたいと思います。

for every cell in range A1:A7
    if the override field for that price is blank
        add the original price to the total
    else
        add the override price to the total

私の質問:上記を行う式は何ですか?

IF(範囲に適用する方法がわからない)とSUMIF(「現在のセル」と「相対セル」を取得する方法がわからない)を見てきましたが、方法が思いつきませんこれをする。エクセルの数式初心者です。

4

3 に答える 3

8

配列数式を試してみませんか?セルB7に、これを追加してみてください。

=SUM(IF(ISBLANK(B2:B7), A2:A7, B2:B7))

次に、を押しCtrl+Shift+Enterて配列数式として入力します。これにより、列Bに値があるかどうかがチェックされ、合計に使用されます。それ以外の場合は、列Aの値を使用します。

于 2012-08-14T06:46:38.037 に答える
0

合計に必要な価格を収集するために、新しいrow.row Cがあります。

C列はこんな感じ

if(B1 = "",A1,B1)

行Cがあります

C

10
100
30
90
50

次に、この行 C を合計します。必要なものが得られます。

于 2012-08-14T06:53:03.750 に答える
0

最も簡単なように思われるのは、3 番目の列を作成することです。セルに価格を入力するか、=IF(ISBLANK(B1); A1; B1)数式で上書きします。次に、数式をすべてのセルにマウスでドラッグします (それに応じて更新されます)。そして、3 列目の値を合計します。申し訳ありませんが、Excel アーティストではありません

于 2012-08-14T06:51:51.460 に答える