Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
テキストデータのINDIRECTに条件付
投稿日時: 19/07/08 23:26:44
投稿者: たのきち

=INDIRECT(A)&CHAR(10)&"★"&INDIRECT(B)
のような関数を使っています。
ただ、AまたはBが空白の場合や、どちらかが空白だと

 ★」
のような状態になります。
そこで、条件付をしたいのですが、方法はありますか?
 
Aのみテキストあり
「A」
Bのみテキストあり
「★B」
A、B共にテキストあり
「A
 ★B」
A、B共にテキストなし
「」
 
のように表示させたいのです。
 

回答
投稿日時: 19/07/09 09:40:13
投稿者: WinArrow
投稿者のウェブサイトに移動

質問1
 
「A」と「B」は、具体的になんでしょうか?
 
要は、INDIRECT関数は、セルの値を参照するもので
引数にセルアドレスを文字列で指定します。
例えば
=INDIRECT("A1")
と数式を入力すると、セルA1の値が返ります。
 
ただ、単に「A」とだけ説明されても、状況を理解できません。
 
 
質問2
CHAR(10)関数について
この関数は、セル内改行文字を文字列の途中に入れることで
この関数が記述された桁位置で「改行」されます。
 
 
質問3
説明の中に"「","」"がありますが、単なる説明でしょうか?
それとも、文字列として表示したいおでしょうか?
 
 

回答
投稿日時: 19/07/09 09:45:04
投稿者: WinArrow
投稿者のウェブサイトに移動

質問2
は取消ます。
 
質問4
 
単純に
=A1&CHAR(10)&"★"&B1
の様にINDIRECT関数ではない数式ではダメなんですか?

回答
投稿日時: 19/07/09 10:02:37
投稿者: WinArrow
投稿者のウェブサイトに移動

複数(2つ)の条件の組み合わせの一般式
 
=IF(AND(条件A,条件B),真,偽)
 
この数式を条件パターンに当てはめればよいです。
条件項目が、2つありますから、次のように4パターンになります。
条件1:A<>"",B<>""
条件2:A<>"",B=""
条件3:A="",B<>""
条件4:A="",B=""
 
 
 
 

回答
投稿日時: 19/07/09 13:45:09
投稿者: んなっと

こんな感じですか?
 
=INDIRECT(A1)&IF(INDIRECT(B1)<>"",IF(INDIRECT(A1)<>"",CHAR(10),"")&"★","")&INDIRECT(B1)

投稿日時: 19/07/09 17:06:56
投稿者: たのきち

丁寧なご回答ありがとうございます。
 
>「A」と「B」は、具体的になんでしょうか?
単純にテキストデータを持ってくるのではないのです。
具体的には
INDIRECT("シート1!G"&(A4+1))
用になっています。※1
 
>説明の中に"「","」"がありますが、単なる説明でしょうか?
単なる説明です。
 
>=A1&CHAR(10)&"★"&B1 の様にINDIRECT関数ではない数式ではダメなんですか?
※1の状況なので、それができないのです。
 
>条件項目が、2つありますから、次のように4パターンになります。
これは把握できています。
「テキストデータが無かったら」
改行や★を表示しないと言うふうにしたいのです。

回答
投稿日時: 19/07/09 19:17:55
投稿者: WinArrow
投稿者のウェブサイトに移動

セルA1:数式

="Sheet2!A"&B1
セルA2:数式

="Sheet2!B"&B2
 
 
=IF(AND(INDIRECT(A1)<>"",INDIRECT(A2)<>""),INDIRECT(A1)&CHAR(10)&"★"&INDIRECT(A2),IF(AND(INDIRECT(A1)<>"",INDIRECT(A2)=""),INDIRECT(A1),IF(AND(INDIRECT(A1)="",INDIRECT(A2)<>""),INDIRECT(A2),"")))

回答
投稿日時: 19/07/09 22:43:43
投稿者: WinArrow
投稿者のウェブサイトに移動

数式訂正
 
>=IF(AND(INDIRECT(A1)<>"",INDIRECT(A2)<>""),INDIRECT(A1)&CHAR(10)&"★"&INDIRECT(A2),IF(AND(INDIRECT(A1)<>"",INDIRECT(A2)=""),INDIRECT(A1),IF(AND(INDIRECT(A1)="",INDIRECT(A2)<>""),INDIRECT(A2),"")))
 

=IF(AND(INDIRECT(A1)<>"",INDIRECT(A2)<>""),INDIRECT(A1)&CHAR(10)&"★"&INDIRECT(A2),IF(AND(INDIRECT(A1)<>"",INDIRECT(A2)=""),INDIRECT(A1),IF(AND(INDIRECT(A1)="",INDIRECT(A2)<>""),"★"&INDIRECT(A2),"")))

トピックに返信