• 締切済み

Excel 同じ値を見つけて番号を振る方法について

intinの回答

  • intin
  • ベストアンサー率33% (8/24)
回答No.3

関数であれば、 全体を1行下にずらして、 ずらした後のB2セルに、 =if(A2=A1,B1+1,1) と入れて、下にコピーしていくのが一番簡単です。 ぴったりの事例ではないですが、 参考になりそうな事例を参考URLに貼っておきます。

参考URL:
http://www.excelspeedup.com/unique/

関連するQ&A

  • 連続した値の、間の値を削除したい。

    すみません、誰か教えていただけませんか。 A列に値が入力されていて、連続の値が3つ以上値が連続 していたら間の値を削除したいのですが、どのようにしたら 良いのでしょうか。 すみませんが、教えていただけませんでしょうか。 下記の様に記述しましたが、うまくいきません。 リンゴ 1 リンゴ 2 リンゴ 3 リンゴ 4 ばなな 5 ばなな 6 ばなな 7 みかん 8 みかん 9 みかん 10 みかん 11 パイナップル 12 パイナップル 13 イチゴ 14 イチゴ 15 イチゴ 16 リンゴ 1 リンゴ 4 ばなな 5 ばなな 7 みかん 8 みかん 11 パイナップル 12 パイナップル 13 イチゴ 14 イチゴ 16 Sub 値削除テスト() Dim Te As Long Dim Re As Long Te = Cells(Rows.Count, 1).End(xlUp).Row For Re = 1 To Te If Cells(Re, 1).Value = Cells(Re, 1).Offset(1, 0).Value And Cells(Re, 1).Value = Cells(Re, 1).Offset(2, 0).Value Then Cells(Re, 1).Offset(1, 0).Delete (xlUp) End If Next Re End Sub 宜しくお願いします。

  • エクセルについて

    宜しくお願いします。 エクセル2003について質問をしたいので宜しくお願いします。現在VLOOKUP関数について勉強をしています。予め読み込みたいデータを作成し、(リンゴ、メロン、ミカン、イチゴ、バナナ)その右側に入力されているデータを自動的に読み込むというものだと思いますが、入力するリンゴ、メロン、ミカン、イチゴ、バナナを手入力するのではなく、入力するセルをクリックする事により、セルの右下に三角のようなマークが出てきてそれをクリックするとリンゴ、メロン、ミカン、イチゴ、バナナが縦に出てきて、該当の項目をクリックする事により入力することは出来ませんでしょうか? どなた様かご教示の程宜しくお願いします。

  • エクセルについて

    前回も質問をしましたが、再度お願いします。 エクセル2003について質問をしたいので宜しくお願いします。現在VLOOKUP関数について勉強をしています。予め読み込みたいデータを作成し、(リンゴ、メロン、ミカン、イチゴ、バナナ)その右側に入力されているデータを自動的に読み込むというものだと思いますが、入力するリンゴ、メロン、ミカン、イチゴ、バナナを手入力するのではなく、入力するセルをクリックする事により、セルの右下に三角のようなマークが出てきてそれをクリックするとリンゴ、メロン、ミカン、イチゴ、バナナが縦に出てきて、該当の項目をクリックする事により入力することは出来ませんでしょうか? という質問をしました。ご教示いただいたのが以下の通りです。 「入力規則」で、「リスト」を選択し、リストに検索対象のセルを範囲指定すればOK。 そこで入力規則と実行してみましたが、セルの範囲指定の方法が分からず困っています。 どなた様かご教示の程宜しくお願い致します。 いつも勉強させていただいております。

  • エクセルの置換の事で?

    エクセルの事で質問です。 マクロを使って置換させたいと考えています。(エクセル2003使用) 例 A1 みかん  B1 私が好きなのは***です。彼は***は嫌いです。 A2 りんご  B2 私が好きなのは***です。彼は***は嫌いです。 A3 メロン  B3 私が好きなのは***です。彼は***は嫌いです。 A4 スイカ  B4 私が好きなのは***です。彼は***は嫌いです。 A5 バナナ  B5 私が好きなのは***です。彼は***は嫌いです。 これを A1 みかん  B1 私が好きなのはみかんです。彼はみかんは嫌いです。 A2 りんご  B2 私が好きなのはりんごです。彼はりんごは嫌いです。 A3 メロン  B3 私が好きなのはメロンです。彼はメロンは嫌いです。 A4 スイカ  B4 私が好きなのはスイカです。彼はスイカは嫌いです。 A5 バナナ  B5 私が好きなのはバナナです。彼はバナナは嫌いです。 このようにボタンひとつで置換したいと考えています。 今までやって失敗した事は ツール→マクロ→新しいマクロの記録で手動やってみたのですがどうしても出来ませんでした。 すいませんが、どなかた教えていただけないでしょうか? よろしくお願いいたします。

  • VBA 重複する番号があるときは値を貼り付けない

    すみません。 理解しているのが少しなので、ちょっとシンプルなVBAを書いています。 1つのブックに 登録シート =Sheets("登録")           顧客情報シート=Sheets("顧客情報")          販売情報シート=Sheets("販売情報")          売り上げシート=Sheets("売り上げ") 登録シートのボタンを押すと、登録シートに入力した情報が、 各シートに分かれて値が入るようにしています。 下記がコードです。 Private Sub CommandButton1_Click() Dim row As Integer ★★★ row = WorksheetFunction.CountA(Sheets("顧客情報").Columns(2)) + 1 Sheets("顧客情報").Cells(row, 2).Value = Range("A2").Value Sheets("顧客情報").Cells(row, 3).Value = Range("A5").Value Sheets("顧客情報").Cells(row, 4).Value = Range("B8").Value ★★★ row = WorksheetFunction.CountA(Sheets("販売情報").Columns(2)) + 1 Sheets("販売情報").Cells(row, 2).Value = Range("C26").Value Sheets("販売情報").Cells(row, 3).Value = Range("J1").Value row = WorksheetFunction.CountA(Sheets("売り上げ").Columns(2)) + 1 Sheets("売り上げ").Cells(row, 2).Value = Range("H1").Value Sheets("売り上げ").Cells(row, 3).Value = Range("K6").Value End Sub もっと簡単な書き方あるよ。。。と言われるでしょうが、 私が理解して修正等ができるのが、上記でした。。 やりたいことは、2点です。 (1)重複は貼り付けをしない。  登録シートのセル A2に入った数字が、顧客情報シートのB列のどこかに、  既に入力がされていた場合は、★★★で囲まれた部分の値を貼り付けず、  その先の販売情報のシートに貼り付ける作業へと進めたい。  IF などを使えばできますでしょうか?   (2)各シートに入力したものを貼り付けた際、A2より下から順番に各シートのCells(row, 1)の位置に、連番をつけたい。 何卒宜しくお願い申し上げます。

  • エクセルマクロで特定の範囲内の検索

    A10からA100までのセルを上から順に調べて、セルにAという文字が入力されているときに、その隣にBという文字を入力するマクロを下記のように作りました。 「セルにAという文字が入力されているとき」という条件に加え、「検索しているセルから上の9個のセル(cells(i-9,1)からcells(i-1,1)まで)にAという文字が入力されていない」という条件を加えたいのです。 Sub 検索() Dim i As Integer For i = 10 To 100 If Cells(i, 1).Value = "A" Then Cells(i, 2).value = "B" End If Next i End Sub つまり If Cells(i, 1).Value = "A" Then  の部分を If Cells(i, 1).Value = "A" かつ Range(cells(i-9,1),cells(i-1,1))にAが入力されていない Then という形にしたいのですが、表現の仕方がわかりません。 ご教示よろしくお願いします。

  • Excelで値と値をくっつけたり、+1する方法を教えてください

    添付した画像のような表を作成しています(添付用に加工しています) A列とB列は、手入力します。  A列:2桁の半角英数  B列:3桁の半角英数 C列に入るものは、  11(固定された数字)+A列の値+B列の値+001から始まる連番 ですので、3行目でいうとC3に「11 A1 B22 001」(分かりやすく半角スペースを空けています)      4行目ですとC4に「11C3D44002」 という値をA列、B列に入力をしたら、C列に上記のような10桁の値を 自動で入力されるしたいのですが、関数などで行うことでできないものかと思い質問しました。 現状は、C列も手入力で行っておりまして、  ・最初の2桁は、固定数値  ・A列とB列の値を使用している  ・最後の3桁は001からの連番を使用している    ※終わり3桁は無条件で001~の連番にしている もし関数などで対応可能でありましたら、どのような数式にすればよいのか ご教示頂けるとありがたく思います。 よろしくお願い致します。

  • 【エクセルvba】(1)(2)(3)を区切りとして分けたい 配列

    こんばんは。 もしエクセルで可能なら教えていただきたいです。(2003です) A1セルに (1)りんご(2)みかん(3)バナナ と入力されています。 これを A2にりんご、B2にみかん、C2にバナナ とSplitと使って区切りたいのですが不可能でしょうか? 以下がここのサイトを参考にして作ったサンプルマクロです。 Sub サンプル() Dim myStr As String Dim ar As Variant myStr = Cells(1, 1) ar = Split(myStr, "") '←この部分をどうすればいいのかわからない Cells(2, 1).Resize(1, UBound(ar) + 1).Value = ar End Sub やはり、区切る文字が複数ある場合は不可能でしょうか? ご教授よろしくお願いします。

  • エクセル マクロ デバックについて

    Dim i As Integer Dim inn As Integer i = 1 Do While Cells(i, "a") <> " " inn = InStr(1, Cells(i, "a"), "印") Cells(i, "b") = Left(Cells(i, "a").Value, inn - 1) i = i + 1 Loop エクセル画面 A1田中花子 印 B1田中花子      A2山田太郎 印 B2山田太郎 A3雲 太郎 印  B3雲 太郎 名前の後に印という文字がついているのをとり、隣のセルに 取り出していくマクロです。 実行すると処理はできているのですが、 Cells(i, "b") = Left(Cells(i, "a").Value, inn - 1) でデバックになります。 よろしくお願いします。

  • エクセルvbaで、同じ番号の請求書の金額をまとめる方法 2

    エクセルvbaで、同じ番号の請求書の金額をまとめる方法 2 すみません、前回質問して良い回答をいただいたのですが、こちらの手違いで 用件がひとつぬけていました。 A    B     I    K    L     M 11/5 B575    3000  7500 5000 13500 11/5 B575    4500      8500 11/6 B578    3000   3000 4000 40000 上記のように A日付 B請求書番号 I金額 K金額合計 が入力されています。 (IからKにとんでいるのは間違いではありません) M列にも同じようにL列の同じ請求書番号の金額の合計をセルを結合して中央揃えで表示したいのです。 以前のプログラムに加筆することで可能になるでしょうか。 下に貼り付けます。 Dim i As Long, j As Long Dim buf As Variant, ret As Double For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row buf = Val(Cells(i, 9).Value) '修正 If Cells(i, 2).Value <> Cells(i + 1, 2).Value Then If j = 0 Then j = i With Range(Cells(j, 11), Cells(i, 11)) .MergeCells = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With If buf + ret > 0 Then Cells(j, 11).Value = buf + ret End If Cells(j, 11).NumberFormat = "#,##0" ret = 0: j = 0 Else If j = 0 Then j = i ret = buf + ret End If Next ''合計欄 'With Cells(i, 4) ' .NumberFormat = "#,##0" ' .HorizontalAlignment = xlCenter ' .Formula = "= SUM(R1C:R[-1]C)" 'End With ご多忙の中申し訳ございませんがよろしくお願いします。