質問: excelで数字を入れて隣のセルに特定の文字を表示させたい場合 仕事でエクセルを使い始めたばかりで、いくら調べてもいい案が 浮かびません。皆さんのお知恵を貸してください。 a列のセルに数値(5桁、もしくは6桁)を入力した時、 ・末尾が0の時は「営業所」、 ・末尾が9の時は「支店」 とb列のセルに表示させるようにしたいです。 営業所は数字が5桁で末尾が必ず「0」に、支店は数字が6桁で末尾が 必ず「9」になります。 自分なりにif関数を使ってみましたが、♯name?のエラーが出るなど まったく進みません。 初歩的な質問で申し訳ありませんが、よろしくお願いいたします。
回答: >a列のセルに数値(5桁、もしくは6桁)を入力した時、・末尾が0の時は「営業所」、・末尾が9の時は「支店」とb列のセルに表示させるようにしたいです。 上記の条件を満たさない数値についての説明がありませんので、こちらで勝手に決めて行います。 例えば、[12345]、[123456]、のような下1桁が「9」と「0」以外の数値、4桁以下の数値、7桁以上の数値もa列のセルに入るものと仮定し、「上記の条件以外の場合は、何も表示しないようにする」として、if関数を主とした方法を記します。 if文の条件は、5桁もしくは6桁の数値であり、下1桁が「9」の場合は、単に「支店」の文字、「0」場合は「営業所」という文字を、これら以外の場合は「何も表示しない」ことにしましょう。 5桁もしくは6桁の数値というのは、[1000000]より小さくて、[9999]より大きい数である。 下1桁が「9」「0」の場合分けには、right関数を使います。right関数は文字列を扱う関数ですが、「数値」のときもエクセルが自動的に変換処理しますので使えます。 これらの各条件を、and関数で処理します。 “b1”セルに、次の関数を入力し、下方にコピペします。 =if(and(1000000>a1,a1>9999,right(a1,1)="0"),"営業所",if(and(1000000>a1,a1>9999,right(a1,1)="9"),"支店","")) 「and(1000000>a1,a1>9999,right(a1,1)="0"),"営業所"」は、もしa1セルの値が、5桁もしくは6桁の数値で、下1桁が「9」の場合は、営業所をb1セルに格納するの意。 次は、もしそうでなくて、a1セルの値が、5桁もしくは6桁の数値で、下1桁が「0」の場合は、b1セルに支店を格納し、それ以外の場合は、b1セルは、空白のままにする、という構文になっています。 ちょっと冗長な文となりますが、if関数を主として分かりやすいようにと思いこのようにしました。試してみてください。