• ベストアンサー

EXCELで数値の同じセルの行を自動的に選択したい

ある固定のセル(例えばA列1行目)に入力した値と同一値が入っているセル(A列の?行)を検索し、その行すべての値を固定の行(例えば2行目)に自動的に入力する方法はありますか。 具体的に言うと、 前提条件として、行は日々増えていきます。 (1)セル(A1)に「2006/11」と自分で入力すると、 (2)A列内で「2006/11」を自動的に検索する。 (3)その結果セル(A15)に同一値が見つかったとする。 (4)15行目の数値(列A~列Gまで)を2行目に自動的にコピーする。 自分で入力するのは(1)だけです。 このようなことはどうすればできるのでしょうか。

noname#38968
noname#38968

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

B2セルに =VLOOKUP($A$1,$A$3:$G$65536,COLUMN(),FALSE) と入れて、G2までずず~とコピーしてみてください。

noname#38968
質問者

お礼

 試してみたところ、うまく結果が得られました。ありがとうございました。できれば数式のそれぞれの意味が分かれば他にも応用が利くかも知れません。本当に助かりました。  表作成に役立つ解説本でお勧めのものがあれば教えてもらえませんか。

その他の回答 (5)

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

#4です。 >A2=$A$1とするのは特別な意味があるのでしょうか。 特別な意味や関連する影響はありません。 第2行目で検索値+結果をフルに1行に揃えたほうが良いかと思ったからです。 A1+B2:D2を併せてみるようにするのなら、不要です。

noname#38968
質問者

お礼

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

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

CR-Vさん、おはようございます。merlionXXです。 > できれば数式のそれぞれの意味が分かれば他にも応用が利くかも知れません。 そうですね、では簡単に解説しましょうか。 エクセルで、関数のヘルプを見ていただくとわかるのですが、VLOOKUPは、指定された 範囲の左端の列で特定の値を検索し、範囲内の対応するセルの値を返します。 VLOOKUP関数は、比較する値がデータテーブルの左端の列に入力され、その位置から指定された列だけ右にある値を取り出す場合に使用します。 (比較する値が目的のデータと同じ列にある場合は、HLOOKUP 関数を使用してください。) 式は、VLOOKUP(検索値, 範囲, 列番号, 検索の型) とします。 ですから、これににあてはめると =VLOOKUP($A$1,$A$3:$G$65536,COLUMN(),FALSE) は、検索する値がA1(絶対参照)で、検索の範囲が$A$3:$G$65536(絶対参照)まで(つまりワークシート最下行まで)、検索の範囲から持ってくるデータの列は、この式を入れた列と同じ、検索型はFALSEです。 検索の型とは、検索値 と完全に一致する値だけを検索するか、その近似値を含めて検索するかを指定することです。 FALSE を指定すると、検索値 と完全に一致する値だけが検索され、見つからない場合は エラー値の#N/Aが返されます。 TRUE を指定するか省略すると、検索値が見つからない場合に、検索値 未満で最も大きい値が使用されます。 以上のようなことは、エクセルが持っている「関数のヘルプ」にすべて書いてありますので、不明な関数が出てきたら、これからはヘルプを見るようにしましょう。

noname#38968
質問者

お礼

はい、納得了解しました。早速関数ヘルプを読んでみました。これは難しく感じられますが、ご回答いただいた解説は大変とよく分かりました。 今後関数ヘルプにもチャレンジしてみます。ありがとうございました。

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

簡略化した例で説明します。 A3:D6に a 11 x xx b 12 y yy c 13 z zz d 14 u uu とデータがあるとします。 A1にA3:A6のどれかの値を指定入力します。 A2は=$A$1 B2に=INDEX($A$3:$D$6,MATCH($A$1,$A$3:$A$6,0),COLUMN(B2)) と入れて、D2まで式を複写します。 第2行は、A1をd と入れると d 14 u uu となります。 日付などの列が出てきますが、エクセルでは、日付シリアル値という整数に過ぎませんので、過度に特別視して、紛らわされないように。

noname#38968
質問者

お礼

早速試してみましたところ、うまくできました。ありがとうございました。 A2にもB2以降と同様にINDEX(・・・・)を入れてみたらうまく作動しましたが、A2=$A$1とするのは特別な意味があるのでしょうか。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.3

オートフィルタでは的外れですか データセルを一つクリックしてから データメニューからフィルタ→オートフィルタで、各見出し項目にフィルタが設定されます。 フィルターで指定した値と同じ行だけが抽出表示してくれます

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

基本は#1の方の回答でもいいと思いますが 下記の条件で数式や設定が変わりますが、どうしますか? 2行目はA1がブランクの場合、空欄ですか? A1に合う値がない場合、どうしますか?(空欄のままor次の日) A1が変更された場合、2行目は上書きですか?3行目に移動?

noname#38968
質問者

お礼

ありがとうございました。 A1は自分で入力するトリガーみたいなものなので、ブランクということは ありませんし2行目は次の計算のための準備として使います。 ご回答いただいたとおり、#1の方のやり方でうまくできました。 早速のご回答ありがとうございました。

関連するQ&A

  • エクセルのセルへの値の自動入力

    こんにちは。 エクセルへのセルへの値の自動入力の仕方が分からなくて困っています。 文章よりも、添付の画像を見て頂いた方が分かりやすいと思うのですが、 A2のセルへ、日付を自動で入力したいのですが、A2の行を右に検索して、 ○が見つかったら、その○が見つかった列の一番上の行にある値をA2のセルに 自動で反映されるようにしたいのです。 A2の行には、○の他に、×が入力されている場合もあるので、”○だったら” という判定が必要です。 始めは、目視で見ながら手入力しようと思っていたのですが、行数が数百ある上、 目視・手入力だと間違いが発生する可能性があるので、エクセルの関数などで 自動で入力したいです。 すみませんが、宜しくお願い致します。

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

  • EXCELで数値により自動で区分値を与える

    あるセルに、計算によって出力された数値があり、この値により、別の指定したセルに区分を表す数値を与える方法はあるでしょうか? 具体的には、0~15未満は1、15~30未満は2、30~45未満は3、45~60未満は4、60以上は5を表すとして、計算によって出力されたセルAの値を判断して、セルBに1~5までの値を自動で入力する方法です。

  • エクセルのセル内の数値を変えたい

    他部署からコピーしたシート内のセルに00001234という数値があります。この数値から0000を取り1234という数値にしたいのです。列に100行くらいありますので、行を一括で行いたいのです。方法を教えていただきたいのですが、よろしくお願いいたします。

  • エクセルの数値選択で

       A   B   C   D --------------------------- 1  100   500  1000  5000    … 2   3     4     5     6     … 3   5     3     5     7     … 4   2     3     4     5     … 5   4     5     2     7     … の表があったとします。 X1のセルに数値を入力すると、その数値が100未満ならX2に3~X5に4を代入、100<=X1<500ならX2に4~X5に5を代入するなど、複数の列に対し1行目の数値を判定し2行目以下の数値を指定のセルに代入したいと思います。 4以上の複数列に対しては、どのような式を使えばいいのでしょうか。IF式を使ったのですがうまくいきません。 どなたかご教示ください。

  • エクセルのセルにある数値のコピーについて

    2列のセルに数値があり、その数値をコピーしてメモ帳などに張り付けると列と列の間に 4つくらいスペースがあります。 数値は1000行位あり、1行ずつスペースを1つにしていると時間がかかります。 なにか方法はありますか?ありましたら教えてください。

  • エクセルのセル選択について

    エクセルで数字を自動で範囲選択し、その範囲の一番上のセルと一番下の行を自動で選択したいと思っております。 下の画像の黄色部分のみを選択したいのですが、自動でできないものかと思い、質問させていただきました 範囲を検索する列はAです。値の範囲は 30~1300 1450~2750 2900~4250 4350~5700 5800~7150 7290~8500 8680~10000 10125~11500 になります。 その後黄色部分の行を選択。という流れです。 画像の方、数値を一部抜粋して表示しております。 できましたらフルサポートの方をお願いしたいと思っております^^; どなた様か御助力、御教授の方頂けましたら幸いです。宜しくお願い致します!

  • エクセルのセルの並び替え

    A列の1~100行まで値(数字)が入力されていると仮定して、 A列の100行目のセルの値をB列の1行目のセルへ、 A列の99行目のセルの値をB列の2行目のセルへ、 というように並び替える方法を教えていただけないでしょうか? また、この時の各セルの値の大きさは関係ないです。 よろしくお願いします。

  • エクセルのマクロで悩んでます

    はじめて投稿いたします。 現在、エクセル2000でマクロを組んでいるのですが、何日も悩んでそこから動けないので質問させていただきます。 やりたいことは、 (1)検索フォームの入力テキストに記載した数値を読んで検索ボタンを押すと、 (2)データブック.xls内の完全に一致した数値のセルの行をアクティブにして (3)その行のA列からO列の値をコピーして (4)入力ブック.xlsの入力シートのB4:B18に数値だけ貼り付け したいと考えています。 検索フォームは入力ブック.xls内で作成しています。 今のところ、(3)でA列の値を読んで、(4)でB4セルに貼りつけということはできているのですが、複数になるとできていません。 根気よく、同じプログラムを書くのが良いのでしょうか? かなり面倒なので、もっと簡単にかける方法があれば教えてください。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

専門家に質問してみよう