ピボットで同Book内の可変参照は問題なく出来るのですが、それを応用して以下のように別Bookにあるリストを可変参照しようとしています。

名前の定義<名前>
list

名前の定義<参照範囲>
='(フォルダアドレス)\[Book名](ファイル名)'!$A$1:INDEX('(フォルダアドレス)\[Book名](ファイル名)'!$F:$F,COUNTA('(フォルダアドレス)\[Book名](ファイル名)'!$A:$A))

ピボットウィザード1/3<データの場所>
エクセルのリスト・データベース

ピボットウィザード2/3<範囲>
list

『エラー:参照が正しくありません』となります。


そもそも『ピボットで他のBookを名前の定義で可変参照』というのが不可なのでしょうか。

色々調べては見たのですが、行詰ってしまいました。
ご存知の方がいましたらご回答お願い致します。

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

A 回答 (4件)

こんにちは



ご質問にあっているかどうかわかりませんが。。。

(1)名前の定義はもとのデータがあるブック側で行います。

(2)ピボット作成のブックで

ピボットウィザード1/3<データの場所>
エクセルのリスト・データベース

ピボットウィザード2/3<範囲>
参照ボタンから名前定義したファイルを指定
  ⇒OK⇒ファイル名の最後に!が付いて入力されますので
その後ろに名前をいれます。
例えば・・・
C:\AAA.xls!list

これで別のブックから参照するピボットは作成できます。

聞きたいことと違いましたらごめんなさい。
    • good
    • 0
この回答へのお礼

まったくその通りの質問でした。
無事思い通りのピボットを作成することができました。

ありがとうございました。

お礼日時:2009/05/28 17:09

[回答番号:No.2]中の「original.xls!list」は、「source.xls」の間違いでした。

    • good
    • 0
この回答へのお礼

ありがとうございます。

あっけなく出来てしまいました。。
問題は送り側の名前の定義であり、ピボットでの範囲指定にもファイル名+定義の名前であればいけたんですね。
勉強になりました。
もうちょっと色んな方面から考えられるようにがんばります。

お礼日時:2009/05/28 17:06

名前の定義を「別Book」(仮に source.xls)側で行なっておけば、


》 ピボットウィザード2/3<範囲>
》 list

の「list」を「original.xls!list」とすればOKみたいですが、試してみてください。
    • good
    • 0

希望回答ではないのかもしれませんが・・・・・



私ならセル番地を指定して参照しますね。コピーも簡単だし・・・
    • good
    • 0
この回答へのお礼

ありがとうございます。

最初はセル番地指定で作成していたのですが、リストが可変する為に広範囲のセル番地を指定していました。
その為ファイルが重くなりまして。。
回避策がないかと考えていたところでしたが、やっぱり難しく考えるよりはこのままのほうがいいですね。

お礼日時:2009/05/28 16:44

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Q複数の同じフォーマットのファイルを新しいブックで一つのシートにまとめる方法

仕事で、各部署から送られてきた、同じフォーマットのファイル(シート1にのみデータ有)が50個近くあります。
それを新しいブックで一つのシートにまとめなくてはいけません。
地道にコピペするのは時間がかかるのでマクロで処理を行いたいと思います。
マクロでの処理方法ご存知の方、処理方法の載っているサイトをご存知の方、もしくはマクロより簡単な方法がありましたら教えてください。

あと、逆に一つのシートをいくつかのファイルに振り分けていく方法もご存知でしたら教えて下さい。
よろしくお願いします。

Aベストアンサー

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCopyMode = False
Workbooks(buf).Close SaveChanges:=False
buf = Dir()
Loop
End Sub
で試してみてください。使い方などは
http://oshiete1.goo.ne.jp/qa4225063.html
を参照してみてください。同じ質問があったので気がつきました。

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCop...続きを読む

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

Qエクセルで、列内が同じ名前を集計する方法は?

エクセルで以下のような表を作成したとします。

      A列   B    C    D
 1行   名前   項目   金額
 2    すずき  あいう  100
 3    すずき  かきく  200
 4    すずき  さしす  450
 5    さとう  あいう  150
 6    さとう  さしす  200
 7    はやし  あいう  250 
 8    はやし  かきく  170
 9    はやし  たちつ  980

B列の名前が同じ者の、金額の合計をD列に出したいのです。
D4に すずきの合計 750、D6にさとうの合計 350、
D9にはやしの合計 1150  というふうに。
全部で100人分位、データ行数は15000ほどあるのですが
これをさっとできるようにはどのようにしたら良いのでしょうか?

Aベストアンサー

次の方法は如何でしょうか。
D2に=IF(COUNTIF(A:A,A2)=COUNTIF($A$2:A2,A2),SUMIF(A:A,A2,C:C),"")を入力→D2を選択→フィルハンドル(D2セル枠右下の■)をダブルクリック
但し、C列途中に空白がある場合、その直前までしかコピーされませんので、空白セル前のセルを下方向にコピー後、同様にフィルハンドルをダブルクリックし下さい。

Qフィルタしたセルのコピーをフィルタしたセルに貼付

質問番号:2467654で似たようなことを希望した方がいて、

【フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、
別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。】


という質問に対してベストアンサーが

【Ctrlキーを使用すれば、できますよ。
(例)
Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。
Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…】

となっていて「できました」!といわれているのですができません。
これ本当にできますか?

違う部分も取り込んでしまうのですが…
フィルタをかけているのが他の列だとできないのでしょうか。

(例)
A B C ←列
あ 1 イ
い 2 ロ
う 3 ハ
え 4 ニ
お 5 ホ

の場合に、フィルタで あ うの行を選んで 1 3 を D列にペーストし、
あ1イ1 や う3ハ3 をつくりたい場合に あ1イ1は良いですが、い2ロ3 ができてしまうのです。



ちなみに以下のような回答もありましたが、これも「フィルタしたセルに貼り付け」はできませんでした。。
バージョンはエクセル2003です。

可視セルを選択してから、「コピー」→「貼り付け」を行うと、可視セルだけが貼り付けされます。

以下は、その手順です。
1) コピーするセル範囲を選択します。
2) 「編集」→「ジャンプ」→「セル選択」をクリックします。
3) 表示される画面で、「可視セル」にチェックを入れ「OK」を押します。可視セルだけが選択されます。
4) その後、コピーから貼り付けで、可視セルだけが貼り付けされます。
http://office.microsoft.com/ja-jp/assistance/HP052014731041.aspx

セルの選択コマンドから操作する方法もあります。
http://www.h3.dion.ne.jp/~fukusima/waza/ura124.html

参考URL:http://office.microsoft.com/ja-jp/assistance/HP052014731041.aspx,http://www.h3.dion.ne.jp/~fukusima/waza/ura124.html

質問番号:2467654で似たようなことを希望した方がいて、

【フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、
別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。】


という質問に対してベストアンサーが

【Ctrlキーを使用すれば、できますよ。
(例)
Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。
Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…】

となって...続きを読む

Aベストアンサー

フィルタしたセルのコピー貼り付けに関しては、リンクで紹介されているものを含めて不正確な情報が多いように思います。

基本的に、フィルタしたデータは、非表示にしたデータと異なり、選択範囲の行のみクリップボードにコピーされます(すなわち、Ctrlキーを押しながら、縦にとびとびにセルを選択した状態と同じわけです)。

一般に、とびとびの行を選択してコピーしたセルを貼り付けると、行が詰められて貼り付けられます。
したがって、フィルタモードの場合はジャンプダイアログから可視セルを選択しないでも(まったくこの操作の必要はありません)、無条件に可視セルが貼り付けられます。

一方、フィルタモードではなく、行を非表示にしたシートでは、セル範囲を選択すると、可視セル以外のセルも選択されるので、可視セルだけを貼り付けたい場合は、ジャンプから可視セルを選択する必要があるわけです。

これらのクリップボードのデータをフィルタしたシートに貼り付けるときは、とびとびではなく一塊のデータとして貼り付けられるので、モードにかかわらず、必ず非表示セルにも貼り付けられます(すなわち、とびとびのセルに貼り付ける方法はありません)。

一方、フィルタモードでオートフィル操作を行うと通常とは異なり、連続データは入力できず(コピーのみ)、さらに表示セルだけを対象とします。

これを利用すれば、フィルタした行だけに同じ値を入力することができます。

例えば、フィルタした状態であるセルにデータを入力し、下方向にオートフィルすれば、その値が表示セルだけに「コピー」されます(非表示行にはデータが入力されません)。

例示のデータのように、フィルタしたB列のデータをD列に入力したい場合は、C列を非表示にしてから(列が飛んでいるとオートフィルができないため)、B列のフィルタされたセルを選択して、右方向にオートフィルしてください。

これでC列を再表示して、フィルタモードを解除すればフィルタされたデータだけにデータをコピーすることができます(オートフィル操作ができない別シートには適用できません)。

フィルタしたセルのコピー貼り付けに関しては、リンクで紹介されているものを含めて不正確な情報が多いように思います。

基本的に、フィルタしたデータは、非表示にしたデータと異なり、選択範囲の行のみクリップボードにコピーされます(すなわち、Ctrlキーを押しながら、縦にとびとびにセルを選択した状態と同じわけです)。

一般に、とびとびの行を選択してコピーしたセルを貼り付けると、行が詰められて貼り付けられます。
したがって、フィルタモードの場合はジャンプダイアログから可視セルを選択しないで...続きを読む

QExcel > ピボットテーブル「(空白)」非表示

Excel 2003 で、ピボットテーブルを利用した際、元データにて未入力のセルは、ピボットテーブルでは「(空白)」と表示されてしまいます。

これを、任意の文字列や、空白のまま表示(「(空白)」を非表示)にする方法はありますか?

空白セルそのものを非表示する方法は、ピボットタイトル行の▼で「(空白)」をチェックオフすれば消えますが、これでは関係する行の他列も非表示になってしまいます。

ただ「(空白)」ではく、空白のまま表示したいだけなのですが、その方法が分かりません。

宜しくお願い致します。

Aベストアンサー

ピボットテーブルの行や列フィールドの「アイテム」(個々の「あ」や「い」,「A」「B」「1・2・3」,「(空白)」も同じ)は,作成したピボットテーブルの中で「(アイテムの)キャッシュ」として保持されています。
実際今回の「(空白)」だけでなく,たとえば列Bフィールドのアイテム「1」1セルを「1個」と書き換えてみると,レポート上のアイテム1が全部1個と表記されます。
レポートで行列アイテムを直接書き換えることで,キャッシュの中で「元データの1 = アイテム表記は1個」というデータを保持し,以後それを使って表示してくれるためです。


#余談ですが,たとえば「四半期」で日付をグループ化すると,エクセルでは1月から3月が第1四半期として集計されます。
これを日本の四月からの会計年度に合わせて「1-3月」は第4四半期に,そして「4-6月」を第1四半期として集計させたいような場合にも,この方法を利用することができます。

Qピボットテーブルのデータソースの変更について

エクセル2010を使っている者ですが、ピボットテーブルで毎月、同じ形式のデータ(システムから出力したデータをエクセルに張り付けて使っています。月ごとに1枚のシートを使ってます)から、同じ形式のピボットテーブルを作成して(こちらも月ごとに1枚のシートを使ってます)、そのデータの集計をしております。

そこで思ったのですが、毎月、ピボットテーブルを作成して行・列の幅等の形式を整えなくても、作成したピボットテーブルをシートごとコピーして、参照しているデータを変更することで対応できないものでしょうか?それができれば、仕事が早く終わるのですが。


なお、オプションのリボン中の「データ」タブの「データソースの変更」からデータを変更しようとしましたが、「そのピボットテーブルのフィールド名は正しくありません。ピボットテーブル レポートを作成するには、ラベルの付いた列でリストして編成されたデータを使用する必要があります。ピボットテーブルのフィールド名を変更する場合は、フィールドの新しい名前を入力する必要があります。」とのエラーメッセージが出てしまいました。

どなたか、よろしくお願いいたします。

エクセル2010を使っている者ですが、ピボットテーブルで毎月、同じ形式のデータ(システムから出力したデータをエクセルに張り付けて使っています。月ごとに1枚のシートを使ってます)から、同じ形式のピボットテーブルを作成して(こちらも月ごとに1枚のシートを使ってます)、そのデータの集計をしております。

そこで思ったのですが、毎月、ピボットテーブルを作成して行・列の幅等の形式を整えなくても、作成したピボットテーブルをシートごとコピーして、参照しているデータを変更することで対応できな...続きを読む

Aベストアンサー

ご質問を読んで、チョッと試してみたのですが、…
コピーしたピボテ上の任意の場所を選択したら、タブメニュー上に[ピボットテーブル ツール]なんてなタブが忽然と現れます。そこの[分析]をクリックして現れるリボンの中の[データソースの変更]を辿ると[ピボットテーブルのデータソースの変更]というタイトルは長ったらしいけど[テーブル/範囲]ボックスを書き替えればOKなのではないかと。
編集していた列幅等は既定値に戻るけど、ピボテの基本レイアウトは維持されるようです。
ただし、つぶさに検討したわけではないので、ご自分で試してみてください。

QExcel、マクロで、ピボットテーブルでの範囲のコーディングの仕方について

マクロで、ピボットテーブルでの範囲のコーディングの仕方について、どなたかどうぞ教えてください。

列はM列までで固定です。
行が毎回異なります。
どのようにしたら、毎回異なる範囲を、「SourceData:=」に反映させることが出来ますか?
マクロ初心者ですが、なんとか作業効率をUPさせたいと思っています。
どうぞよろしくお願い致します。

尚、今のマクロは絶対参照になっています。
自動作成されたVBAは以下の通りです。

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"A1:M5372").CreatePivotTable TableDestination:="", TableName:= _
"ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select

マクロで、ピボットテーブルでの範囲のコーディングの仕方について、どなたかどうぞ教えてください。

列はM列までで固定です。
行が毎回異なります。
どのようにしたら、毎回異なる範囲を、「SourceData:=」に反映させることが出来ますか?
マクロ初心者ですが、なんとか作業効率をUPさせたいと思っています。
どうぞよろしくお願い致します。

尚、今のマクロは絶対参照になっています。
自動作成されたVBAは以下の通りです。

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, Source...続きを読む

Aベストアンサー

こんにちは。

Dim rng As Range 'データ範囲用Range型変数を準備
'A列を基準にする場合は↓。場合によっては Set rng = Range("a1").CurrentRegion でも可。
Set rng = Range("A1", Range("A65536").End(xlUp).Offset(, 12))
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=rng.Address(external:=True))
With .CreatePivotTable(TableDestination:="")
.AddFields RowFields:=rng.Cells(1).Value, ColumnFields:=rng.Cells(2).Value
.PivotFields(rng.Cells(3).Value).Orientation = xlDataField
End With
End With
Set rng = Nothing

な感じで、まずデータ範囲を変数にセットすれば良いです。
上記はActivesheetが対象になりますが、必要に応じてSheetから指定してあげる事もできます。
また、一般機能の[名前の定義]で可変範囲に名前をつける、という方法もあります。
=OFFSET($A$1,,,COUNTA($A:$A),13)

こんにちは。

Dim rng As Range 'データ範囲用Range型変数を準備
'A列を基準にする場合は↓。場合によっては Set rng = Range("a1").CurrentRegion でも可。
Set rng = Range("A1", Range("A65536").End(xlUp).Offset(, 12))
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=rng.Address(external:=True))
With .CreatePivotTable(TableDestination:="")
.AddFields RowFields:=rng.Cells(1).Value, ColumnFields:=rng.Cells(2).Value
.PivotFields(rng.Ce...続きを読む

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報