Excelで、特定のセルに入力した文字列に、自動的に指定した文字が追加されるようにする関数はありますか?
例えばA1に、123-4567と入力してエンターを押せば、自動的に文頭にAが付与されて、A123-4567となり、
B1に、abcdefと入力してエンターを押せば、自動的に末尾に-001が付与されて、abcdef-001となるようにしたいのです。
処理上必要なので毎回手入力しているのですが、付与すべき文字列が入力欄ごとに決まっているので、自動的に処理できたら楽なのにと常々考えています。
ものぐさで申し訳ありません。知ってらっしゃる方お願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
マクロではないのですが。
。。質問者さんがどの程度の文字列を追加したいのかにも寄りますが、
ご質問にあった程度の字数でしたら「セルの書式設定->表示形式->ユーザ設定」で
「"A-"@」とか「@"-001"」にしてみてはどうでしょう?
もちろんあくまで書式なので、並べ替えとかそういったものには対応していませんが。
お役に立てたら嬉しいです。
No.5
- 回答日時:
#1さんのおっしゃっている通り、関数ではご要求通りの内容の実現は無理で、マクロによる事になります。
おまけで特定の列には同じ処理をしたいという場合についてもコメントアウトして付けておきます。マクロをどこに記述するかは、参考URLなどをご覧ください。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'特定セルで判断したい場合
Select Case Target.Address
Case "$A$1"
Target.Value = "A" & Target.Value
Case "$B$1"
Target.Value = Target.Value & "-0001"
End Select
'列で判断したい場合
' Select Case Target.Column
' Case 1
' Target.Value = "A" & Target.Value
' Case 2
' Target.Value = Target.Value & "-0001"
' End Select
Application.EnableEvents = True
End Sub
このままだと、A1をクリアしようと思っても、Aになってしまいますので、それが嫌な場合は、下記のように変更してください。(当然他のセルについても同様です)
If Target.Value <> "" Then Target.Value = "A" & Target.Value
参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
No.4
- 回答日時:
入力したセルをそのようにしたいなら関数では無理です。
でもマクロでなら楽に自動化を実現できます。
以下の手順を試してみてください。
簡単ですよ。
1. 該当するシートのタブを右クリックして、[コードの表示]。
2. 出てきた所に、下記のコードを貼付けます。
'********これより下**********
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> "A1" And Target.Address(0, 0) <> "B1" Then Exit Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
Select Case Target.Address(0, 0)
Case "A1"
Target.Value = "A" & Target.Value
Case "B1"
Target.Value = Target.Value & "-001"
End Select
Application.EnableEvents = True
End Sub
'********これより上**********
3.Alt+F11キーでワークシートへもどります。
A1とB1にそれぞれ入力してみてください。
No.3
- 回答日時:
こんばんは!
一発で解決!とはいかないと思いますが、
他の方が回答するためのたたき台として!
質問に
>特定のセルに入力した文字列に、自動的に指定した文字が・・・
とありますので、具体的にどのような形で入力した文字列に対して文字が指定されているのか判らないので、
勝手に↓のような感じで表を作ってみました。
F~H列の1行目に文頭につけたい文字列を入力し、その列の2行目以降に当てはまる文字列を羅列しておきます。
(表内には重複はないものとしています。)
C2セルに
=IF(COUNTIF($F$2:$H$100,A2),INDEX($F$1:$H$1,,SUMPRODUCT(($F$2:$H$100=A2)*COLUMN($A$1:$C$1)))&A2,"")
(とりあえず、F~H列の100行目までデータがあっても対応できるようにしてみました)
D2セルに
=IF(B2="","",B2&TEXT(COUNTA($B$2:B2),"-000"))
文末の(000)はB列に入力された個数を表示するようにしていますので、
もし、この文字列もB列に入力した文字列に関連があるのなら別の方法を考えなければなりません。
以上、質問からこちらで勝手に判断してやってみた方法ですので
的外れならごめんなさいね。m(__)m
No.2
- 回答日時:
私がぱっと思いついた手立てですが
A1に123-4567を入力してB1にA123-4567を表示させるのであれば
B1セルに=if(A1="","","A"&A1)
で
B1にabcdefを入力してC1にabcdef-001を表示させるのであれば
C1セルに=if(B1="","",A1&"-001")
でどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセル セル内の文字数を超えたら自動的に折り返して表示 2 2023/07/24 05:32
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) EXCELでリターンキーが押されたらそのセルに特定の文字を表示したいのですが。 2 2022/08/07 12:58
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
MicrosoftOfficeの1ユーザー2...
-
MicrosoftOffice2019なんですが、
-
Excel 日付を比較したら、同じ...
-
Microsoft365の「お支払いを更...
-
ウィンドウィズ メモ帳で日付だ...
-
Excelで空白以外の値がある列の...
-
エクセルのシフト表を簡単にGoo...
-
理由を教えてください。
-
VBA
-
web上にあるエクセルをショート...
-
バソコンが二台とも壊れ後換装...
-
【マクロ】文字を1文字づつ、...
-
Excelのセルの重複チェックが出...
-
マイクロソフト 一時使用コード...
-
office365って抵抗感ないですか?
-
Outlook 電源OFFの受診の仕方
-
エクセルで例えば、A1に㈱ベ...
-
自分の専門分野の仕事。初見で...
-
excelの画面のグリッド線の消滅。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報