1

Googleスプレッドシートでの状況は次のとおりです。

スプレッドシート

FALSE赤い線のステートメントの下にあるセルを含めずに、黄色い線の 1 つおきのセルを合計する必要があります (図を参照) 。これらのステートメントは、この問題を解決する上で重要な場合は、2 つの結合されたセルに書き込まれます。この例では、正しい数字は次のようになります: 4.00, 4.00,最終的な答えとして8.00.16.00

さまざまな Excel フォーラムでいくつかの調査を行ったところ、この行はセルで始まる 1 つの列の 2 つおきのセルを合計するトリックを実行するはずであることがわかりましたB3

= SUM(IF(MOD(ROW($B$3:$B$22) - ROW($B$3) + 1, 2) = 0, $B$3:B$22, 0))

私はこれを自分の状況に合わせて調整しました(今のところ、TRUE-FALSEチェックに関する事実を無視しています):

= SUM(IF(MOD(COLUMN($E$6:$N$6) - COLUMN($E$6) + 1, 2)=0, $E$6:N$6, 0))

残念ながら、Google スプレッドシートではうまくいきません。最後に、この目的のために正しく機能する式を思いつきました。

  = SUM(IF($E$2 = "TRUE", $F6, 0), IF($G$2 = "TRUE", $H6, 0), IF($I$2 = "TRUE", $J6, 0), IF($K$2 = "TRUE", $L6, 0), IF($M$2 = "TRUE", $N6, 0))

問題は、この方法で数式を作成すると、数式が非常に長くなり、不便になりすぎることです (左側に数百の列が追加されるため)。

助言がありますか?

4

1 に答える 1

3

これは、列を使用してロジックのブレークアウトを行うと、簡単に解決できます。

たとえば、7 列目に次の 2 つの数式を入力します。

E7:

=if(E2="TRUE",E6,0)

F7:

=if(E2"TRUE",E7,0)

次に、この行のテストを合計するだけです。

残念ながら、Google Doc の数式は常に Excel の数式ほど高度であるとは限らないため、可能にするために回避策を講じる必要がある場合があります。

そうは言っても... Googleドキュメント用のオールインワンフォーミュラソリューションが本当に必要な場合は...これを試してください:

=SUMIF(E2:N2,"TRUE",E6:N6)+SUMIF(E2:N2,"TRUE",F6:N6)

魔法は 2 番目の SUMIF で発生します。F6 で始まるため、sum-array を 1 ずつオフセットすることに注意してください。実装するには、式の文字「N」をシートの最後の列に変更するだけです。

于 2012-07-12T17:47:32.610 に答える