度々のミス発覚でご迷惑をお掛けします
>実は、B列の項目の文字数は一定ではありません。 >(例を挙げる時は、見た目が崩れないように文字数を揃えました) >例えば、「おいしかった」「初めて見た」「どちらでもない」「その他」など・・・。
そのつもりで作成したのですが、、、m(__)m テスト時に使用したのが例示されていた、同じ文字の繰り返しと最後のみ違う文字の [ううう、こここ、いいえ、おおお]でしたので提示した数式でOKとしてしまいました
提示した数式ではSUBSTITUTE関数が配列処理をしないため返信のとおり、 先頭の1文字のみ(先頭と同じ文字)が改行される状態になります。
X1の数式を少々長いですが、以下の数式に変更してください 文字数1〜20字に対応します
=MID( MID(B1,1,1)&CHAR(10)&MID(B1,2,1)&CHAR(10)&MID(B1,3,1)&CHAR(10)&MID(B1,4,1)&CHAR(10)& MID(B1,5,1)&CHAR(10)&MID(B1,6,1)&CHAR(10)&MID(B1,7,1)&CHAR(10)&MID(B1,8,1)&CHAR(10)& MID(B1,9,1)&CHAR(10)&MID(B1,10,1)&CHAR(10)&MID(B1,11,1)&CHAR(10)&MID(B1,12,1)&CHAR(10)& MID(B1,13,1)&CHAR(10)&MID(B1,14,1)&CHAR(10)&MID(B1,15,1)&CHAR(10)&MID(B1,16,1)&CHAR(10)& MID(B1,17,1)&CHAR(10)&MID(B1,18,1)&CHAR(10)&MID(B1,19,1)&CHAR(10)&MID(B1,20,1), 1,LEN(B1)*2-1)
B1の文字を先頭から1文字づつ取り出し、間に改行コード(CHAR(10))を挿入して文字連結した後、 MID関数で作成した文字列の先頭からB1の文字数*2-1だけを取り出して 不要な改行コードを削除しています
20字以上になる場合は&CHAR(10)&MID(B1,20,1)の後に続けて &CHAR(10)&MID(B1,21,1)&CHAR(10)&MID(B1,22,1)・・・と MID関数の先頭位置を+1して追加します EXCELの数式のMax文字数は1024ですから45文字位までは追加可能です
|