- ベストアンサー
エクセルで同一セル内での改行とセルの書式設定、ユーザー定義による自動入力について
- エクセルで同一セル内での改行方法と、セルの書式設定でユーザー定義による自動入力方法について教えてください。
- 同一セル内で改行して、例えば「お弁当◯個」と「ジュース◯個」といった形で数字を入れるだけで入力できる方法があれば教えてください。
- 初心者ですので、分かりやすく教えていただけると助かります。また、他にもエクセルの操作の便利な情報があれば教えていただけると嬉しいです。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! すでに、色々回答が出ていて重複するかと思いますが・・・ 当方使用のExcel2003の場合です ↓の画像でC2セルに =IF(COUNTBLANK(A2:B2)=2,"",IF(B2="",$A$1&A2&"個",IF(A2="",$B$1&B2&"本",$A$1&A2&"個"&CHAR(10)&$B$1&B2&"本"))) (この画面から数式をC2セルにそのままコピー&ペーストしてみてください) という数式を入れて、C2セルで右クリック → セルの書式設定 → 「配置タブ」の中の「折り返して全体を表示する」にチェックを入れます。 そして、C2セルの右下にマウスポインタを移動させると +のマークになるところがあります。(フィルハンドルといいます) このマークのところで下へドラッグ(コピー)してみてください。 画像のような感じになると思います。 以上、参考になれば幸いです。m(__)m
その他の回答 (9)
- pirimo1982
- ベストアンサー率16% (2/12)
C2のセルに =CONCATENATE(IF(A2<>0,CONCATENATE("お弁当 ",A2,"個"),""),IF(AND(A2<>0,B2<>0)," ",""),IF(B2<>0,CONCATENATE("ジュース ",B2,"個"),"")) と打ち込んでA2にお弁当の個数、B2にジュースの個数を記入してください。その際、C2の書式設定で『折り返して全体を表示する』にチェックしてください。 簡単に解説しますと・・・ ○『CONCATENATE』が文字列結合の式であることはいいと思います。 ○第一引数に『A2を見て、0(これには空白も含まれます)ならば文字列なし。0以外ならば"お弁当 xx個"』 ○第二引数に『A2とB2がどちらも0以外ならば改行。そうでないならば文字列なし』 ○第三引数に『B2を見て、0ならば文字列なし。0以外ならば"ジュース xx個"』 となっています。 このご質問のおかげで私自身も勉強になりました。CONCATENATEで繋げたい文字列の中で改行するとアウトプットでも改行してくれるんですね~。質問者様に感謝したいと思います。 ちなみに、書式設定で『折り返して全体を表示する』にチェックをして幅を調整することで改行しているように見せるのも手ですが、これは正直お勧めできません。お弁当とジュースの桁数が上がるとそのたびに幅調整しなければならないからです。 参考になさってください。
お礼
ご回答ありがとうございます。 今の所専門用語だらけでチンプンカンプンですが、 コツコツ勉強して、御回答者様が書いていただいた、 効率の良い方法に辿り着けるようになりたいです。
- KURUMITO
- ベストアンサー率42% (1835/4283)
解答No5です。 オートフィルドラッグという言葉は正しい言葉ではないですね。 セルを選択し、セルの右下隅の部分にポインタを移しますと+に変わりますので、そこでマウスの左ボタンを押しながら下方にドラッグします。その意味では単に下方にドラッグすればよいでしょうが正しい表現でしょう。
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.5 修正 正 つまり、今度はB3セルに入力です。 B3セルを右方向にオートフィル 誤り つまり、今度はA3セルに入力です。 A3セルを右方向にオートフィル
- gyouda1114
- ベストアンサー率37% (499/1320)
- KURUMITO
- ベストアンサー率42% (1835/4283)
セルの表示形式のユーザー定義などからそのような表示をさせることはできませんね。次のようにしてはどうでしょう。 例えばA列を選択して右クリックし、「セルの書式設定」で表示形式のタブから「文字列」にチェックをします。その後にA1セルにお弁当3個でジュースが2個でしたら3/2のように入力するとします。下方にも同様に入力してもよいでしょう。 B1セルには次の式を入力し下方にオートフィルドラッグします。 =IF(A1="","","お弁当"&LEFT(A1,FIND(",",A1)-1)&"個"&CHAR(10)&"ジュース"&MID(A1,FIND(",",A1)+1,10)&"個") B列については「セルの書式設定」で「配置」のタブから「折り返して全体を表示する」にチェックをします。
お礼
ご回答ありがとうございます。 オートフィルドラッグっていうのが分からないのですが、 外出しなければならないので夕方以降勉強したいと思います。
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.2です。 修正してください。 ジュースが個でした =IF(COUNT(A2:B2)=0,"",IF(A2="",CONCATENATE("ジュース",B2,"本"),IF(B2="",CONCATENATE("お弁当",A2,"個"),CONCATENATE("お弁当",A2,"個","ジュース",B2,"本"))))
補足
ご回答ありがとうございます。 画像は私がやりたい事そのままなのですが、 =IF(COUNT(A2:B2)=0,"",IF(A2="",CONCATENATE("ジュース",B2,"本"),IF(B2="",CONCATENATE("お弁当",A2,"個"),CONCATENATE("お弁当",A2,"個","ジュース",B2,"本")))) というのはユーザー定義の種類の欄に入力するのでしょうか? 1列目に入れたい数字 1列目に入れたい数字 3列目に上記の=から始まる文を入れると、 そのままの形で出てきてしまいます。
- xls88
- ベストアンサー率56% (669/1189)
弁当とジュースが同じ数字でもよいなら "お弁当"@"個"と"ジュース"@"個" の間に、Ctrl+J とキー操作を入れる セルの書式設定>配置で「折り返して全体を表示する」に設定
- gyouda1114
- ベストアンサー率37% (499/1320)
- bin-chan
- ベストアンサー率33% (1403/4213)
お弁当◯個 ジュース◯個 をセルA1に表示するとして。0なら「0個」と表示しますよ。 1)お弁当の個数をセルB1に、ジュースの個数をセルC1に入力。 2)セルA1に式[="お弁当" & B1 * 1 & "個" & char(10) & ="ジュース" & C1 * 1 & "個"]を入力。 ([ ] は範囲を示すもので入力不要) でどうでしょう?
お礼
ご回答ありがとうございます。理屈は全く分かりませんでしたが、 やってみたらその通りできました。 =以降の意味を理解して自分で作れるようになりたいと思います。