• ベストアンサー

数式内で文字の配置

こんにちは。これができれば便利だなと思ったことなのですが、 例えばB列に、A列が「あ」なら左詰の●、「い」なら中央揃えの▲、それ以外なら右詰の■というような数式をいれることが出来ますか? ┌─┬─┬───┐ │ │A│ B │ ├─┼─┼───┤ │1│あ│●  │ ├─┼─┼───┤ │2│い│ ▲ │ ├─┼─┼───┤ │3│う│  ■│ └─┴─┴───┘ =if(A1="あ","●",if(A1="い","▲","■")) 普通なら上の式でいいのですが、できれば文字の位置まで数式内で指定したいです。 EXCEL2000です。わかる方いらしたらお暇な時に教えて下さいm(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 こんな方法があります。 まず、B1に、 =IF(A1="あ",1,IF(A1="い",-1,0)) と入力して、下の行へコピーします。 この段階ではB列の表示は、「1,-1,0」になっています。 次に、B列のセルの表示形式を、ユーザー定義で、 「"●"* ;"▲";* "■"」 にします。 そして、B列の書式の[配置]タブで、[横位置]を「中央揃え」にします。 これで、B列のセルの幅を変えても、ちゃんと表示されます。

wanwandog
質問者

お礼

ユーザー定義、これはつまり「正;負;0」の順番で並んでるってことですよね?実際に使いたかった表に応用してみたら出来ました! とりあえず、もし他にも方法があれば知りたいので、もう少し締め切らずに回答を待ってみます。 回答ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

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,"△"))) なんてのもあり(長い!)。

wanwandog
質問者

お礼

やっぱりスペースによる指定になっちゃいますね。 回答ありがとうございました。

  • diashun
  • ベストアンサー率38% (94/244)
回答No.1

数式内で文字位置まで指定する方法はわかりませんが(マクロを使えば簡単ですが)、代替案として次の方法はいかがでしょう? =if(A1="あ","●",if(A1="い"," ▲","  ■")) つまり、スペースを適当に挿入して文字位置を調整します。 ほかの方の優秀な回答を待ちましょう(^_-)

wanwandog
質問者

お礼

スペースは試みてみたのですが、文字サイズやセル幅を変えたりすると他のちゃんと指定してあるものとずれが生じてくるので、一応今のところそれでしのいでいるのですがちゃんと数式内で指定できればと思います。 回答ありがとうございました。

関連するQ&A