いざべらさん、いいいさん、あいうさん、マーヤさん、 御回答いただきありがとうございました。 急に梅雨明け宣言が出てバタバタとしていたため、 返信が遅れ、大変に申し訳ございませんでした。
> ここで質問しているパターンとほぼ同じですね^^ はい。例えば以下のような配列関数ですよね。 =IFERROR(INDEX($A$1:$E$1,MATCH(LARGE(IF($A$2:$E$2=MAX($A$2:$E$2),$A$2:$E$2+1/COLUMN($A$2:$E$2),""),COLUMN(A1)),$A$2:$E$2+1/COLUMN($A$2:$E$2),0)),"")
> この質問のようなパターンだと作業列を使うか 実際、そうしてます。。 A3: =IF(IF(MAX($A2:$E2)=E2,COLUMN(),"")="","",E1) 以下、E5までフィルコピー。
そして、F3: =A3&B3&C3&D3&E3とでもすれば、「鈴木佐藤高橋」となります。 この文字群の適切な位置に、 カンマもしくはテンを入れる関数を考えております。 現在、以前お教えいただいた関数を以下のように変形しています。 (h ttp://excelfactory.net/excelboard/exgeneral/excel.cgi?mode=all&namber=117494&rev=0)
F3: =IF(A3="","",IF(COUNTA($A3:$E3)=COUNTA($A3:A3),A3,A3&"、"))&IF(B3="","",IF(COUNTA($A3:$E3)=COUNTA($A3:B3),B3,B3&"、"))&IF(C3="","",IF(COUNTA($A3:$E3)=COUNTA($A3:C3),C3,C3&"、"))&IF(D3="","",IF(COUNTA($A3:$E3)=COUNTA($A3:D3),D3,D3&"、"))&IF(E3="","",IF(COUNTA($A3:$E3)=COUNTA($A3:E3),E3,E3&"、"))
ただし、この方法ですと、 対象列数に応じて「&以下の部分」を追記あるいは削除せねばなりません。 列数が5程度であれば、まあいいのですが、 列数が30とかになると、関数が長すぎてパニックになってしまいます。
御知恵をお貸しください、よろしくお願い致します。
|