• ベストアンサー

エクセルのセル参照とデータ並べ替え

エクセルで、データを並べ替え後、セル参照の式を作ります。そして、元の通りデータを並べ替えます。そうすると、参照のセルが自動で変わってしまいます。絶対参照にしても、相対参照にしても、思い通りの結果が得られません。 どうしたらよいか簡単な方法を教えてください!!

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

内容がわからないのでなんともいえませんが... よくあるミスとしてなら 1.例としてA:G列に表 同じシートのJ2:J10に参照用の表があり、並べ替え時にJ列を一緒に並べ替えた為、J列の範囲が崩れた。 参照用の表は別シートに作ることで回避する。(並べ替えの影響がなくなる。) 2.LOOKUP,VLOOKUP,MATCH等の検索関数で最後の引数TRUE又は1(-1)で参照している。 この場合、昇順が絶対条件のため異なる値が表示されるかエラーになる。 引数をFALSE又は0にするか、この関数を使わないようにする。 もしくは別シートに昇順の状態の表を作成してこちらを参照する。

ro-chan
質問者

お礼

回答ありがとうございました! 参照用の表は別シートに作らないといけないのですね。参考になりました。ありがとうございました。

その他の回答 (3)

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.4

>「>それと…」以下の、絶対参照でセル参照の式を作ったセルを基準列にした並び替えは意図していません。 →しっかりやってますがな。これがだめだと言うんです。  ちょっと下の例で考えてみてください。   A  B 1 1  =$A$2 2 2  =$A$3 3 3  =$A$1★ 上記の場合、B1,B2,B3セルの値はそれぞれ2,3,1となるわけですが、 ここで、B列で昇順に並び替えることを考えましょう。 B列で一番値が小さいのは値が1であるB3セル(星のついたセル)です。 これを一番上にもってくる必要がありますね。 そうすると、A列も一緒に移動するので、こうなります。   A  B 1 3  =$A$1★ 2 1  =$A$2 3 2  =$A$3 ところが、星の着いたセルはA1セルを参照しているので、この時点で、値は3になっています。 つまり一番小さい値になっていません。 と言うわけで、いつまで経っても並び替えが終わらないことになってしまいます。 あなたのやっていることはよく見えませんが、これと同等のことをやっていると思います。 つまり、絶対参照にすれば、セルが移動しても参照しているセル(のアドレス)は変わりません。 でも、参照先のセルの内容(値)が変わってしまえば、当然参照している値は変わってくるということです。 あと、書いていただいたサンプルでは、やりたいことがさっぱりわかりません。 数式が入っているセルは数式で書いてください。

ro-chan
質問者

お礼

回答ありがとうございました! 分かりづらい質問ですみませんでした。ご丁寧に回答してくださり、ありがとうございます。 とりあえず、No.2、3の方の回答で、理解しました。 また何かありましたらよろしくお願いします!!

  • takkuni
  • ベストアンサー率24% (166/676)
回答No.3

元の通りに戻せば、絶対参照にしたところで行番号が動くわけですから参照先も当然変わると思います。 手っ取り早い方法としては、A列にB列に応じたデータが参照されたら、隣のセルにでも値として貼り付けてしまえば、元に戻しても関数とは関係なく、只のデータに変わりますから大丈夫ではないでしょうか。 貼り付け後は、関数を入れておいたA列は削除するか、非表示にしておくかどちらでも構いません。

ro-chan
質問者

お礼

回答ありがとうございました! 希望していることはできないということがはっきりしました。 値として貼り付ける方法、いいですね。ただ、今回は、あくまで参照を維持したかったので…。でも、別件で使わせていただこうと思います。ありがとうございました。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.1

絶対参照なら、並び替えても参照セルは変わらないと思うんですけどね。セルに色とかつけておくとよくわかるかもしれません。例えば、セルに黄色の色をつけて内容を並び替えの前後で、比べてみてください。内容は変わってないはずです。 正直したいことがよくわからないのですが、多分なにか勘違いをされていると思います。 セル参照の式を作った列を、並び替えの列に入れたり、入れなかったり、絶対参照にしたり相対参照にしたり、計2×2=4つの組み合わせを試してみれば、どれかがあなたの求める答えになると思います。 どうしてもできないのなら、こういうサンプルでできなかったという例を出していただければ、適切な回答もできるかもしれません。 それと、絶対参照でセル参照の式を作ったセルを基準列にして、参照先もセルもいっしょに並び替えをすると、並び替え自体がうまくいきません。

ro-chan
質問者

補足

回答ありがとうございます!質問が分かりづらくてすみません。アドバイスを試してみましたが、やっぱり、どうしてもできません。「>それと…」以下の、絶対参照でセル参照の式を作ったセルを基準列にした並び替えは意図していません。 長いサンプルで申し訳ないのですが、よろしくお願いします。 A列/B列/C列 data1/1/1  /1/2 data2/2/3  /2/4 data3/3/5  / /6  / /7  /1/8  /2/9 というデータがあります。A列の空欄の所は、B列=3ならdata3というように、B列に応じたデータが参照できるようにしたいのです。でも、最終的にはC列の順番に並べ替えたいのです。ちなみにB列の空欄の所もあります。そこは参照しません。

関連するQ&A

  • エクセルで、異なるシートから隣のセルを参照する場合は?

    エクセル2007に関して質問です。 「シート元」のデータを「シート参照」で参照しております。 データ参照は以下の通りです。 「シート参照」のA1のセルに「=シート元!A1」 「シート参照」のB1のセルに「=シート元!B1」 「シート参照」のC1のセルに「=シート元!C1」 ・ ・ ・ というデータがあり、これをシート元A10から新たに シート参照A1のセルに「シート元!A10」11、12、13・・ という風にデータを毎回更新しています。 その度に、「シート参照」の式を手打ちで直しているのですが、 これを、「シート参照A1」のセルを直すだけで、 B1、C1のセルも自動的に、シート元!10、11と 参照するようにしたいのです。 シート参照B1のセルに「=シート参照A1+1」と入れてみましたが、出来ませんでした。 この様な参照は、可能なのでしょうか?

  • エクセルの複数のセルを一括で絶対参照にする方法

    エクセルの絶対参照についての質問です。 複数のセルに関数がある時,その複数のセルの関数に含まれる参照先を一括で相対参照から絶対参照に変える方法はありますでしょうか?

  • セルの参照について

    いつもお世話になっています。 セールの参照でシート1に縦ならびにシート2のデータを横順序で読み込んでいきたいのですが、セルにはどのように入力すればよろしいでしょうか? シート1でA1をJ10までドラッグするとシート2のA1~A10が読み込まれるような式です・・・。 普通にシート1のA1に「=Sheet2!A1」といれてドラッグすると下にドラッグするとシート2も下に相対参照してしまい・・・。数のみを絶対参照にアルファベット(列)を相対参照にすることはできるのでしょうか? よろしくお願いします・・・。

  • エクセルのセル参照ができない

    セル参照で元のデーターを空白にした場合、それを参照しているセルは空白ではなくゼロ(0)が表示されますが、これを空白にする方法はないでしょうか? よろしくお願いします。

  • エクセルで他のファイルのセルを相対参照したい。

    エクセルファイルAとBが別々のフォルダにあります。Aの中でBのセルを参照したいので、Aの中のセルに「=」を書き、そのままBのファイルの該当セルをクリックし、リターンを押しました。 すると、 「='C:\Documents and Settings\USERNAME\デスクトップ\フォルダ名\サブフォルダ\サブサブフォルダ\サブサブサブフォルダ\[エクセルファイル名.xls]シート名'!E8」 こんな感じの値が代入されて希望通りの結果になりました。 このAとBのフォルダ構造を維持したまま別の場所に移動させたいのですが、「='C:\Documents and Settings\USERNAME~~~」と言う感じの絶対参照になっていますのでエラーになってしまいます。 この部分を相対参照で記述できれば移動ができると思うのですが方法がわかりません。 どうしたらいいでしょうか。 どこかのセルにフォルダ位置を書いておいて間接参照みたいな方法でもいいのですが・・・ VBAでは"\..\~~~"みたいな感じで相対参照ができるようですが、大げさななのでVBAまでは使いたくないです。

  • エクセルで複数ファイルからデータを参照する時

    60個位の同じひな形のエクセルファイルと、 各ファイルの中のデータを一覧にした1つのファイルがあります。 一覧表のファイルに、エリアごとの行を作成し、 各ファイルの同じ場所のセルからデータを参照する式を入れているところですが、 それぞれ違うフォルダにある参照元のファイルを開いて 参照先に1つ1つ参照式を入力しているのでは いつまで経っても終わりません。 また、東京の行に入れた「フルパス・エクセルファイル名・セル番地」の参照式をコピーして、 フォルダとファイル名をほかの地域に置換したらどうかと思ったのですが、 いちいちファイルを選ぶウィンドウも出てきてやはり手間がかかってしまいます。 シートの構成を変えるわけにもいかず、 実際は参照するためにデータを引っ張ってくるセルはもっと多いため、途方に暮れています。 何か良い方法はないでしょうか? 急ぎのため、あまり複雑ではない方法だととても助かります。

  • エクセルのセル参照で、セルにパスが入る

    初心者の為、お願いします。 Office2000を使用しています。 あるエクセルファイルのシートのセルを参照して新たなエクセルファイルに反映させたいと思いました。(セル参照というのでしょうか。) しかしながら、どうしても反映させたいセルに元エクセルシートのパス(=\○○.xls\○○(sheet名)\セル番地、等)が入るのです。 セルの表示形式かとも思ったのですが、どう変えても同じ結果です。 違うようです。 このような現象の場合、どんな理由が考えられるでしょうか。 よろしくお願い致します。

  • セルの参照

    Excelで名簿を作り、セルの参照=を使って別表を作成しました。(windowsXP Excel2003) 削除する人が出たので元データのセルの削除をしてセルを上に詰めたら参照したところがエラーになりました。 元データを削除しても、置き換えられたデータをそのまま反映させるにはどうしたら良いでしょうか? たとえば 元データ A1 坂本竜馬      A2 小野小町      A3 卑弥呼 参照   E1 =A1   坂本竜馬 表示される A1のセルを削除して上につめると元データは      A1 小野小町      A2 卑弥呼 となります。 参照   E1 #REF!  となってしまう これをそのまま E1 =A1 小野小町 となるようにしたいのです。 よろしくお願いいたします。

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • SharePoint上のエクセルデータ内容を参照

    端末のデスクトップにあるエクセルデータから、SharePoint上のエクセルデータの値を直接参照できるでしょうか? "参照元.xlsx"のA1セルに、"参照先.xlsx"のA1セル値を表示させたいと考えてます。 MSO365を使用しています。

専門家に質問してみよう