- ベストアンサー
数式内で文字の配置
こんにちは。これができれば便利だなと思ったことなのですが、 例えばB列に、A列が「あ」なら左詰の●、「い」なら中央揃えの▲、それ以外なら右詰の■というような数式をいれることが出来ますか? ┌─┬─┬───┐ │ │A│ B │ ├─┼─┼───┤ │1│あ│● │ ├─┼─┼───┤ │2│い│ ▲ │ ├─┼─┼───┤ │3│う│ ■│ └─┴─┴───┘ =if(A1="あ","●",if(A1="い","▲","■")) 普通なら上の式でいいのですが、できれば文字の位置まで数式内で指定したいです。 EXCEL2000です。わかる方いらしたらお暇な時に教えて下さいm(__)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 こんな方法があります。 まず、B1に、 =IF(A1="あ",1,IF(A1="い",-1,0)) と入力して、下の行へコピーします。 この段階ではB列の表示は、「1,-1,0」になっています。 次に、B列のセルの表示形式を、ユーザー定義で、 「"●"* ;"▲";* "■"」 にします。 そして、B列の書式の[配置]タブで、[横位置]を「中央揃え」にします。 これで、B列のセルの幅を変えても、ちゃんと表示されます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
A1:A3にあ、い、うが入っているとします。 B列のセル幅を適当に広げて B1に =IF(A1="あ","○",IF(A1="い",REPT(" ",10)&"×",REPT(" ",20)&"△"))と入れB1の式をB2以下式を複写します。結果は ○ ..........× ....................△ のようになります。(.はスペース) 条件つき書式に配置がないので、こんな方法で良ければ。 また =IF(A1="あ",REPLACE(REPT(" ",20),1,1,"○"),IF(A1="い",REPLACE(REPT(" ",20),10,1,"×"),REPLACE(REPT(" ",20),20,1,"△"))) なんてのもあり(長い!)。
お礼
やっぱりスペースによる指定になっちゃいますね。 回答ありがとうございました。
- diashun
- ベストアンサー率38% (94/244)
数式内で文字位置まで指定する方法はわかりませんが(マクロを使えば簡単ですが)、代替案として次の方法はいかがでしょう? =if(A1="あ","●",if(A1="い"," ▲"," ■")) つまり、スペースを適当に挿入して文字位置を調整します。 ほかの方の優秀な回答を待ちましょう(^_-)
お礼
スペースは試みてみたのですが、文字サイズやセル幅を変えたりすると他のちゃんと指定してあるものとずれが生じてくるので、一応今のところそれでしのいでいるのですがちゃんと数式内で指定できればと思います。 回答ありがとうございました。
お礼
ユーザー定義、これはつまり「正;負;0」の順番で並んでるってことですよね?実際に使いたかった表に応用してみたら出来ました! とりあえず、もし他にも方法があれば知りたいので、もう少し締め切らずに回答を待ってみます。 回答ありがとうございました。