T22T さん
また説明が不十分だったようで申し訳ありません。T22Tさんは何も勘違いされてませんよ。「option + return をダブルクォーテーションで挟む(閉じる側のダブルクォーテーションは次の行へ行ってしまうけど…)。」という方法はありがたく使わせていただいております。
セル内に、「行頭を揃えた箇条書のような複数行の文字列」を与える数式を作成する際、option + return をダブルクォーテーションで囲めば改行として機能して目的は達成されるけれど、エディタ上では閉じる側のダブルクォーテーションが次の行の先頭となり、ネストのインデントを飛び出してしまいます。体裁を気にしてこの閉じる側のダブルクォーテーションの位置を下げるために option + tab を使ってしまうと、今度はこの option + tab もダブルクォーテーションで囲まれる中に含ませることになってしまうので、結果のセル内は「行頭の揃わない複数行の文字列」となってしまう。 つまり、エディタ上の体裁を犠牲にすればとりあえずの目的は達成される。
ということです。
= IF([条件 1]
,[true case 1]
,IF([条件 2]
,"項目 1" & [改行コード] & "項目 2"
,[false case 2]
)
)
(注「[ ]」はプレイスホルダです。)
本当はエディタ上で上のような表現ができればよいのですが、現状ではT22Tさんに検証していただいたように、
= IF([条件 1]
,[true case 1]
,IF([条件 2]
,"項目 1" & "
" & "項目 2"
,[false case 2]
)
)
となってしまい、option + tab を使って無理やり体裁を
= IF([条件 1]
,[true case 1]
,IF([条件 2]
,"項目 1" & "
" & "項目 2"
,[false case 2]
)
)
とすると、結果のセル内では「項目 2」のインデントが下がってしまいますよね?
IF文のネストがさらに深くなり、改行させたい文字列が何カ所にもあったら、とても読みづらくなってしまうので、上記最初のIF文のような書き方ができないものかと思っております。
また、キーコンビネーションの発行コードを取得するために char関数を使おうとしても、「127 を除いた 32 以上 65,535 以下の数値を引数にしなければならない」という仕様のため、この範囲にない option + return などには通用しないことも理解しております。
なお、最初の質問投稿で触れた「セル内でテキストを折り返すにチェックを入れる」は、私の勘違いですね。こちらは、テキストがセル幅に納まらない文字数の場合に折り返して、セルの下方向に送っていくものですね。
ご指摘ありがとうございます。