web-dev-qa-db-ja.com

CONCATENATEでネストされた複数のIF条件

Googleスプレッドシート内のスケジュールシステムに使用している次のような式があります。

_=IF(B2="","",(CONCATENATE($B$1&" "&B2&CHAR(10)&$C$1&" "&C2&CHAR(10)&$D$1&" "&D2&CHAR(10)&$E$1&" " &E2&CHAR(10)&$F$1&" " &F2&CHAR(10)&$G$1&" " &G2)))
_

現在、私の数式はb2の​​内部に値がありますが、これは素晴らしいですが、数式onlyで1つの値が内部のどちらか。

B2、C2、D2、E2、F2またはG2。

したがって、c2に値がある場合、式で解析する必要があります。

私はもう試した

_=IF(B2,C2,E2) etc with no luck. 
_

私も試しました:

=IF(OR(B2="",C2="")は式を解析しましたが、データがなくても表示されていました。

これは、これらのフィールドをマスタースケジュールに取り込み、それが理にかなっている場合に、フィールドの1つが入力されたときにのみ表示するようにしたいためです。そうしないと、スケジュールがはるかに忙しくなります。

https://docs.google.com/spreadsheets/d/1KE3VOI43M4-QlWB0EZldCqR73d3RHDnRnUNlv1MqLMo/edit?usp=sharing

皆さんのためのドキュメント。

1
Datanovice

ここにあります:

=IF(A2<>"",CONCATENATE(
                   IF(B2<>"",$B$1&": "&B2&CHAR(10),),
                   IF(C2<>"",$C$1&": "&C2&IF(OR(D2<>"",E2<>"",F2<>"",G2<>""),CHAR(10),),),
                   IF(D2<>"",$D$1&": "&D2&IF(OR(       E2<>"",F2<>"",G2<>""),CHAR(10),),),
                   IF(E2<>"",$E$1&": "&E2&IF(OR(              F2<>"",G2<>""),CHAR(10),),),
                   IF(F2<>"",$F$1&": "&F2&IF(                        G2<>"", CHAR(10),),),
                   IF(G2<>"",$G$1&": "&G2,)),)
1
user0