Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

Excel グラフのプロットからデータを見つける

こんにちは、おそらくとても基本的な作業なのですが、分からずに困っております。エクセルで、あるデータから散布図を作ったとします。するとプロットがグラフとして現れますが、このプロットがどのセルのデータに該当するかを見つけるにはどうしたらよいでしょうか。プロットをクリックしても、その座標の値しか現れず、どのセルに対応するのかをみつけることができません。ご存知の方宜しくお願いします。 Excel 2007を使用しております。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

例データ(A、B列が元データ) A列  B列   C列 1 6 00160 <--第2行目から始めること 2 3 00230 3 6 00360 ・・・ C列の式は =TRIM(TEXT(A2,"000")&TEXT(B2*10,"00")) A列やB列はその桁数によってTextの書式000などを適当な桁数にしていしてください。データに小数点があれば、整数になるよう10の整数乗をかけて整数化してください。 ーー A,B列で 散布図のグラフを描き、データラベルをありにする。 コードはSheet1のSelectionChangeを使う。 Sheet1のタブ部を右クリックし出てきた「コードの表示」をクリック。それで出てきたVBEに下記をコピペする。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.EnableEvents = False If mr = "" Then GoTo p1 MsgBox mr ActiveSheet.ChartObjects(1).Activate ActiveChart.SeriesCollection(1).Points(mr).DataLabel.Select Selection.Interior.ColorIndex = xlNone '-- p1: 'x = Trim(Format(Range("e1"), "000") & Format(Range("f1") * 10, "00")) x = Cells(Target.Row, 3) MsgBox x '--- Range("c2:c30").Find(What:=x, LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate r = ActiveCell.Row MsgBox "行" & r '--- ActiveSheet.ChartObjects(1).Activate ActiveChart.SeriesCollection(1).Points(r - 1).DataLabel.Select Selection.Interior.ColorIndex = 5 mr = r - 1 ext: Application.EnableEvents = True End Sub ーーーーーー グラフ上で、見つけたい、当該のデータ行をクリック。 するとその行のデータのラベル部分が色がつく。 他の行をクリックするとまえのものの色h消え、今回選択したその行のデータのラベル部分が色がつく === 苦労したが、もしエラーが起こると、質問者でコードを修正してもらえないだろうから、エラーが出たら、上記回答は捨ててください。 Msgbox のコード行は抹消してもらってもよい。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

特異な作業だと思います。 目的はなんですか? セル番地を知ってどうするのですか? とりあえず、該当セルを選択するマクロを組んでみました。 プロットされたマーカーをひとつだけ選択しておいてマクロを実行してください。 マーカーを2回クリックすればひとつだけ選択できます。 Sub Test1() Dim myPoint As Point Dim myFormula As String Dim myPDLname As String Dim myWsName As String Dim x As String Dim y As String Dim n As Integer If TypeName(Selection) <> "Point" Then Exit Sub If TypeName(Selection) = "Point" Then Set myPoint = Selection myFormula = myPoint.Parent.Formula With myPoint .HasDataLabel = True myPDLname = myPoint.DataLabel.Name .HasDataLabel = False End With n = Split(myPDLname, "P")(1) x = Split(myFormula, ",")(1) y = Split(myFormula, ",")(2) myWsName = Split(x, "!")(0) End If MsgBox myWsName & "!" & Range(x)(n).Address & ":" & Range(y)(n).Address Sheets(myWsName).Select Sheets(myWsName).Range(Range(x)(n), Range(y)(n)).Select End Sub

すると、全ての回答が全文表示されます。
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

座標の値がわかるのなら、その値を探せば良いのでは。 軸に使用している行(列)を選択してCtrl+Fで検索。

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

どのセルに対応しているかが直ちにわかるようにはできないでしょう。 プロットの点で右クリックして「データラベルの追加」を選択することで数値が表示されますね。 その数値をもとにセルを探すことになるでしょう。 そのためには「ホーム」タブの「検索と選択」をクリックして「検索」を選択し「検索する文字列」にグラフで表示された数値を入力して「すべて検索」を選択すればそのデータのセルが選ばれるでしょう。

すると、全ての回答が全文表示されます。

関連するQ&A