- ベストアンサー
エクセル 「AA123」と打ったら「AA-123」
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
@はセルに入力されたデータ全体ですから、@@-@@@と書けば当然aa123が5回表示されます。 ま、書いたとおりに表示されているだけですね。 多分、表示形式の設定では不可能なんじゃないかと思います。 A1セルに値が入っているときに、他のセルに =MID(A1,1,2)&IF(LEN(A1)<3,"","-"&MID(A1,3,3)) と入力してやれば、入力したセルの表示は、多分質問者さんの期待したとおりになると思いますが。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
文字列な場合にはセルの表示形式でそのようにすることはできないでしょう。 AA123のようにAAの付く文字がたくさんあるのでしたら「ホーム」タブの「検索と置換」で「置換」タブから検索する文字列の窓にAAと入力して。置換後の文字列にAA-と入力して「すべて置換」などをクリックすればよいでしょう。
お礼
ありがとうございました。
- HAL007
- ベストアンサー率29% (1751/5869)
@は&(文字列の結合)の変わりでは無かった。 ユーザー定義の使い方はMSのサポート(Excel)に書かれてます。 どうしても自動で表示させたいなら隣のセルに関数をいれて隣に表示させるしかありません。 例:AA123がA1セルに有る場合 =LEFT(A1,2)&"-"&RIGHT(A1,3)
お礼
ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
ユーザー定義の表示形式では、文字列の表示を細工する事は全くできません。 敢えてできるとすれば文字列を細工するのは諦めて、"AA-"0と設定して、123と記入する事ぐらいです。 #参考 シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range) dim h as range on error resume next for each h in application.intersect(target, range("A:A")) if h <> "" and instr(h.value, "-") = 0 then h = left(h, 2) & "-" & mid(h, 3, 99) end if next end sub ファイルメニューから終了してエクセルに戻る A列にAA123を記入する。
お礼
ありがとうございました。
お礼
ありがとうございました。