エクセルの連番設定について教えて下さい。
A列に文字を入力する際に管理番号として連番を振りたいのですが、
例えばA1に
"1○○○○”と入力→リターン→次のセルに2がふられて、なおかつ文字も書き込める事って出来るのでしょうか?
よろしくです。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

「&」を使って2つのセルをくっつけるといいかもしれません.


どこか広い余白(たとえばSheet2)で

   A  B   C
1 1  あ  =A1&B1
2 2  い  =A2&B2
3 3  う  =A3&B3

とすると,C列にA列とB列の文字がくっついて出てきます.
上のように記入したあとは,この9個のセル(A1~C3)を
すべてクリックした状態でオートフィル(セルの右下に出る+マークを
下にドラッグ)してやれば,100でも1000でも半自動で記入できます.

 C列をSheet1にコピーしたい際は,
  C列を全て選択 →コピー
         →Sheet1のA1右クリック
         →「形式を選択して貼り付け」
         →「値」にチェック
         →「OK」
 でできます.
    • good
    • 0
この回答へのお礼

雑な質問に丁寧なご回答有り難うございます。
おかげで解決出来ました。
エクセル初心者ですのでこれからもよろしくです。

お礼日時:2009/05/26 18:25

実例を挙げて質問すること。


>文字を入力する際
文字は行によってちがうのか。
連番は別列ではダメなのかな。普通は同行別列で振るよ。
連番は後にふる(くっつける)のだよね。
連番は定桁式(下記の例)に振るのか。

A列   B列
aaaaaa001
bbbbbbbb002
cccc003
B1の式は =A1&TEXT(ROW(),"000") (連番3桁とした例)
ーー
=A1&ROW()で
aaa1
bbbb2
cc3
こういッたことがはっきりしない。例を書かないからだ。
上記だって室問者の場合に相応しく無いかもしれない。
(空き行があったり)
    • good
    • 0
この回答へのお礼

ご回答有り難うございます。
文字は管理番号をふるのでもちろん行によって違います。
連番は同列でふりたかったのですがNO,1さんのご回答で解決出来ました。
連番は頭にくっつけるって質問したんですが?
定桁式じゃなくてもいいんです、質問の事が出来れば。。。
質問=初心者=たいした質問は出来ない
このへんをわかって下さい。

お礼日時:2009/05/26 18:49

A列に文字入力するんでしょ?


そのときに、数字が一桁くらいだったら
打ったほうが明らかに早いですけど?
    • good
    • 0
この回答へのお礼

ご意見有り難うございます。
不特定多数の人が50種類以上の文字を入力するのと、絶対間違いたくない管理番号だったので。
説明不足ですいませんでした。

お礼日時:2009/05/26 18:30

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

QexcelVBA 項目ごとに連番を降りたい。連番の境目を取得したい。

添付画像のような表を作成したいです。
もともとは別の順番で入っているデータを並び替えるというマクロです。
B列は昇順でソートしてあり、これからもデータは増えていきます。
質問は2つありまして、
(1)まずC列を項目ごとに連番としたいです。(画像参照)
https://oshiete.goo.ne.jp/qa/5505038.html
こちらの回答No.3を参考にしていますが、「青森県B」のように完全一致でないものも同じ項目として扱いたいです。
Ifの行でleftを使って「左2文字が一致する場合」として実現できましたが、どうしてもC2セルに「1」が入ってしまいます。
連番を振ってからC2に「No.」を代入で対応しているのですが、良い方法があれば教えてください。
--------------------
Sub test()
Nb = 1
Cells(3, 3) = Nb
ex = Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To ex
If Left(Cells(i, "B"), 2) = Left(Cells(i - 1, "B"), 2) Then
Nb = Nb + 1
Else
Nb = 1
End If
Cells(i, "C") = Nb
Next
Cells(2, 3) = "No."
End Sub
--------------------

(2)(1)で分けた項目ごとに太線を引きたいです。(画像参照)
太線を引く位置が毎回変わるのでどう処理すればいいのかがわかりません。
今はB列であいまい検索をして検索の最終セルを求める→選択範囲を拡張→罫線
という下のコードをB列の項目分実行していますが、今後B列に入れる項目が変わった際に対応できないのでC列で処理できないでしょうか?
連番が1に戻る境目のセルを取得できればなんとかできそうなのですが・・・。
検索をB列に限定しているのは他の列にも同じ文字列があるからです。
--------------------
Sub test2()
Dim a As Range
Set a = Range("B:B").Find(What:="岩手*", After:=Range("B2"), SearchDirection:=xlPrevious)
a.Activate
Selection.Resize(, Selection.Columns.Count + 5).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
Cells(1, 1).Select
End Sub
--------------------

主に2番目で困っています。ちなみに実際はE列以降も大量にデータが入っています。
目的のものができれば切り口は変わっても全く問題ありませんので、よろしくお願いします。

添付画像のような表を作成したいです。
もともとは別の順番で入っているデータを並び替えるというマクロです。
B列は昇順でソートしてあり、これからもデータは増えていきます。
質問は2つありまして、
(1)まずC列を項目ごとに連番としたいです。(画像参照)
https://oshiete.goo.ne.jp/qa/5505038.html
こちらの回答No.3を参考にしていますが、「青森県B」のように完全一致でないものも同じ項目として扱いたいです。
Ifの行でleftを使って「左2文字が一致する場合」として実現できましたが、どうし...続きを読む

Aベストアンサー

何度もごめんなさい。

罫線のマクロの方ですが無駄なコードがありました。(寝ぼけていました)
そして、該当行が1行だけの場合はお望みの罫線になりませんので↓のコードに変更してください。
今回はシートモジュールにしています。

Sub 罫線2()
Dim i As Long, lastRow As Long, lastCol As Long
lastRow = Cells(Rows.Count, "C").End(xlUp).Row
lastCol = Cells(2, Columns.Count).End(xlToLeft).Column
With Range(Cells(2, "B"), Cells(lastRow, lastCol))
.Borders.LineStyle = xlNone
.Borders.LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).Weight = xlMedium
End With
Range(Cells(2, "B"), Cells(2, lastCol)).Borders(xlEdgeBottom).Weight = xlMedium
For i = 3 To lastRow
If Cells(i, "C") >= Cells(i + 1, "C") Then '//訂正★「=」を追加
Range(Cells(i, "B"), Cells(i, lastCol)).Borders(xlEdgeBottom).Weight = xlMedium
End If
Next i
End Sub

どうも失礼しました。m(_ _)m

何度もごめんなさい。

罫線のマクロの方ですが無駄なコードがありました。(寝ぼけていました)
そして、該当行が1行だけの場合はお望みの罫線になりませんので↓のコードに変更してください。
今回はシートモジュールにしています。

Sub 罫線2()
Dim i As Long, lastRow As Long, lastCol As Long
lastRow = Cells(Rows.Count, "C").End(xlUp).Row
lastCol = Cells(2, Columns.Count).End(xlToLeft).Column
With Range(Cells(2, "B"), Cells(lastRow, lastCol))
...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

QAccessの連番(文字+日付+文字)

フォームで新規入力をする際に自動で連番を振りたいです

初心者でいろいろと調べているのですがうまくいきません

下記のような連番を振る方法を教えてください

"Eyymmdd A "E"は固定で yy(西暦2ケタ)mm(月)dd(日)A(Aから始め、同じ日だとB,C,…と最大26(Z)まで)振っていく。日が変わるとまたAから始まる


「テーブル名」連絡文書E
「クエリ名」連絡文書Eクエリ
「フォーム名」連絡文書E

「フィールド名」管理番号(テキスト型)
E110105 A
E110130 A
E110130 B
E110130 C
E110202 A…

と"E"を固定 yy(西暦2ケタ)mm(月)dd(日)Aから始まり、同日であればB,C~と
日が変わるとAからまた始まるという連番をふりたいです


煮詰まってしまい、どうしてよいかわからない次第です

初心者にとても難しい事は承知しておりますが、何卒よろしくお願い致します

Aベストアンサー

VBAで行わねばなりませんけど大丈夫?

新規入力時に今日の日付と照らし合わせて連番を振る場合です。
昨日の文書の連番や未来の日付の連番は考えてません。

Alt + F11 を押して、VBEに切り替えて
メニュー→挿入→標準モジュールにて

Function getNewSeq()
  If Format(Date, "yymmdd") = Mid(DMax("管理番号", "連絡文書E"), 2, 6) Then
    If Right(DMax("管理番号", "連絡文書E"), 1) = "Z" Then
      MsgBox "Zまで一杯です"
      Exit Function
    End If
    getNewSeq = "E" & Format(Date, "yymmdd") & " " & _
          Chr(Asc(Right(DMax("管理番号", "連絡文書E"), 1)) + 1)
  Else
    getNewSeq = "E" & Format(Date, "yymmdd") & " " & "A"
  End If
End Function

さらに、フォームでも
デザインビューでフォームのプロパティのイベントの、「レコード移動時」に
Private Sub Form_Current()
If Me.NewRecord Then
Me!管理番号 = getNewSeq
End If
End Sub

としてみてください。
※フォーム名とテーブル名が同じなので、
今後VBAの記述が増えれば、パッと見で分かりにくいので
「フォーム名」連絡文書E→F_連絡文書E
とかにしておいた方が宜しいかと。
クエリもね。

VBAで行わねばなりませんけど大丈夫?

新規入力時に今日の日付と照らし合わせて連番を振る場合です。
昨日の文書の連番や未来の日付の連番は考えてません。

Alt + F11 を押して、VBEに切り替えて
メニュー→挿入→標準モジュールにて

Function getNewSeq()
  If Format(Date, "yymmdd") = Mid(DMax("管理番号", "連絡文書E"), 2, 6) Then
    If Right(DMax("管理番号", "連絡文書E"), 1) = "Z" Then
      MsgBox "Zまで一杯です"
      Exit Function
    End If
    getNewSeq = "E...続きを読む

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Q選択範囲に下→上、左→右に同時に連番を振りたい

エクセル初心者です。エクセル2010を使用しています。
エクセルで記号や数字を入力して作業をしています。
作業の方向は、基本的に下から上、右から左です。
作業の途中や、終了時点で入力の範囲の右側と下側に連番を入力するのですが、
その時点で、必要な範囲の右端列、左端列、最下段、上の段に連番を入力したいのです。
シートも範囲も変動します。50段位~になります。
基本になる連番は右端列、下の行になります。
セルの数を数えたりして、オートフィル等で連番を入力していますが、選択したらその範囲に自動的にマクロで連番をふることができたらと思って、質問させていただきました。
画像を添付いたしました。よろしくお願いします。

Aベストアンサー

こんにちは。
とりあえず、マクロ書いてみました。
使い方はわかるのでしょうか。
何かあれば、補足にでも書いてくださればレスします。

Sub Re8062898()
  Dim mtxVtcl()
  Dim arrHrzn()
  Dim tnRow As Long
  Dim tnCol As Long
  Dim i As Long
  
  If TypeName(Selection) <> "Range" Then Exit Sub
  With Selection
    tnRow = .Rows.Count - 2
    tnCol = .Columns.Count - 2
    If tnRow < 1 And tnCol < 1 Then MsgBox "message": Exit Sub
    If tnRow > 0 Then
      ReDim mtxVtcl(1 To tnRow, 1 To 1)
      For i = 1 To tnRow
        mtxVtcl(i, 1) = tnRow - i + 1
      Next i
      .Cells(2, 1).Resize(tnRow).Value = mtxVtcl
      .Cells(2, tnCol + 2).Resize(tnRow).Value = mtxVtcl
    End If
    If tnCol > 0 Then
      ReDim arrHrzn(1 To tnCol)
      For i = 1 To tnCol
        arrHrzn(i) = tnCol - i + 1
      Next i
      .Cells(1, 2).Resize(, tnCol).Value = arrHrzn
      .Cells(tnRow + 2, 2).Resize(, tnCol).Value = arrHrzn
    End If
  End With
End Sub

こんにちは。
とりあえず、マクロ書いてみました。
使い方はわかるのでしょうか。
何かあれば、補足にでも書いてくださればレスします。

Sub Re8062898()
  Dim mtxVtcl()
  Dim arrHrzn()
  Dim tnRow As Long
  Dim tnCol As Long
  Dim i As Long
  
  If TypeName(Selection) <> "Range" Then Exit Sub
  With Selection
    tnRow = .Rows.Count - 2
    tnCol = .Columns.Count - 2
    If tnRow < 1 And tnCol < 1 Then MsgBox "message": Exit Sub
    If tnRow > 0 The...続きを読む

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QA1に今日の日付 A2に「=jis(a1)」と入力 → 「39414」 の解消方法を

【エクセル2003の質問】

いつもお世話になってます。

A1に今日の日付が入力されています。
「平成19年11月28日」と表示されています。
※実際は数字は半角で表示されている。

全角で日付を表示させたいので、

A2に「=jis(a1)」と入力してA1の日付を全角で表示するよう企んだところ、「39414」と表示されてしまいました。

全角で日付を表示させたいのですが、どうすればよいのでしょうか?

ご教示のほどよろしくお願いします。

Aベストアンサー

Excel では、日付を連続したシリアル値として処理することで、日付の計算が行われています。既定では、1900 年 1 月 1 日がシリアル値 1 として保存されます。2007 年 11 月 28 日は 1900 年 1 月 1 日から 39,414 日後に当たるので、シリアル値は 39,414 になります。

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

QA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示

エクセル初心者です

セルのA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示されるようなものを作りたいのですが・・・
どなたかご教授お願いします

例えば、A1に1を入れるとB1の値"北海道"がA1に表示され、A2に2を入れるとB2の値"青森"がA2に表示といった感じでです

宜しくお願いいたします

Aベストアンサー

No3,5,6です。
補足要求をしましたが時間がないので、No6での以下の理解、

B4がROOT,C4が♭9,D4が9,E4がm3,F4がM3~M4がM7
置き換え対象はB6:W11の範囲

ということでいいのなら以下で出来ます。

1.シートのタブを右クリックし、コードの表示を選択
2.出てきたVBエディター(白い画面)に下記をコピペ

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x
If Intersect(Target, Range("B6:W11")) Is Nothing Then Exit Sub
x = Target.Value
Application.EnableEvents = False
Target.Value = Range("A4").Offset(0, x)
Application.EnableEvents = True
End Sub

3.AltキーとF11キーを一緒に押してワークシートへもどります。


人気Q&Aランキング

おすすめ情報