セルの中で改行するには、改行したいところで
Alt+Enterキーを押します。
下図は「田中」「Alt+Enterキー」「亨」と入力しました。
このように、セル内で改行されたデータは、実際には改行位置に
改行コードが含まれています。
Excelの場合、Alt+Enterキーを押すと、16進数で0Aという制御コードが入ります。
この0Aは、CHAR関数で表すと
CHAR(10)です。したがって、セルが改行されているかどうかは、次のように判定できます。
=IF(ISERROR(SEARCH(CHAR(10),B3)),"改行されてない","改行されてる")
SEARCH関数は、検索文字が見つかったとき、その位置を返しますから、次のように改行されている位置を調べることも可能です。
=SEARCH(CHAR(10),B4)&"文字目が改行"
ということは、改行の前と後ろを、それぞれ抜き出すこともできるということです。
=LEFT(B5,SEARCH(CHAR(10),B5)-1)
=MID(B5,SEARCH(CHAR(10),B5)+1,256)
もちろん、実際にはまず「改行が含まれているかどうか」をIF関数で判定した方がいいです。
これを応用すると、たとえば次のようなレイアウトで表引きができます。
=VLOOKUP(LEFT(A3,SEARCH(CHAR(10),A3)-1),$A$8:$B$12,2)*MID(A3,SEARCH(CHAR(10),A3)+1,256)
とか
=INDEX($B$8:$F$12,
MATCH(MID(A3,SEARCH(CHAR(10),A3)+1,256),$A$8:$A$12,0),
MATCH(LEFT(A3,SEARCH(CHAR(10),A3)-1),$B$7:$F$7,0)
)
みたいに。
まぁ、無理に1セルで計算しなくてもいいですけど。