セルの中で改行するには、改行したいところで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セルで計算しなくてもいいですけど。