EXCELでの抜き出し方法

このQ&Aのポイント
  • EXCELでのデータ抽出方法について教えてください。
  • 特定の条件に基づいてEXCELのデータを抽出する方法を教えてください。
  • EXCELの特定のセルの値を指定してデータを一括抽出する方法を教えてください。
回答を見る
  • ベストアンサー

EXCELでの抜き出し

     A列    B列    C列    D列 1行目 A0001  ○○荘  101号室 2007/3/21 2行目 A0001  ○○荘  201号室 2007/3/25 3行目 B0001  ××荘  101号室 2007/3/24 4行目 B0001  ××荘  102号室 空白 5行目 B0001  ××荘  201号室 2007/3/24 6行目 B0001  ××荘  202号室 2007/3/25 という表があります。 別のシートでA1のセルにA0001と入れると 3行目からA0001の物件の全部屋のD列までが表示されるようにしたいのです。建物によっては2部屋のものもあれば4部屋のものも8部屋のものもあります。 どのようにしたらよろしいでしょうか? よろしくお願い致します。  

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

Sheet2のA3に、 =IF(ROW(A1)>COUNTIF(Sheet1!$A$1:$A$100,$A$1),"",OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$1:$A$100=$A$1,ROW($A$1:$A$100),10^10),ROW(A1))-1,COLUMN(B1)-1)) という数式を入力し、配列数式なのでCtrl+Shift+Enterで確定します。 そのセルを右にC列までコピーしA3:C3を選択して、さらにその3列を下にず~っとコピーしてください。 データ数が100行以上ある場合は、数式の$100の部分をそれ以上の数値にしてください。

dlx_xlb_qlo_olp
質問者

お礼

すご~い!! すばらしいです!! これですこれ。 大変満足しております。 ありがとうございました。

関連するQ&A

  • エクセルで数字の抜き出し。

     よろしくお願いします。   A   B   C   D 1    2   - 2    4   あ  3    5   6 4    3 5        ”          ” という表があります。C列に数字が入っているときにB列の数字をD列へ抜き出します。この場合3行が条件にあたり、3Dへ数字の5が抜き出すようになります。よろしくお願いします。

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセルの列の抜き出し

    いつもお世話になってます。 過去ログを見たのですがいまいちわからなくて。 環境はWin98 Excel97です。 シート1に セルA セルB セルC 1   企業A 350円 2   企業B 400円 3   企業C *0.75 4   企業D *0.7 5   企業E  . 6   企業F  . 7   企業G  . 8   企業H  . 9   企業I  . 10   企業J  . 11  と一覧があります。 シート2のAのセルに 1と入力したらシート1の1を 2と入力したらシート1の2の 「列ごと全部」反映させたいのです。 そうして シート2に セルA セルB セルC 1   企業A 350円 3   企業C *0.75 7   企業G  . 10   企業J  . 5   企業E  . 5   企業E  . 4   企業D *0.7 7   企業G  . 5   企業E  . 1   企業A 350円 3   企業C *0.75 とランダムに入力されたものを 別に作ったシート11枚に集計したいのです。 シート3には セルA セルB セルC 1   企業A 350円 1   企業A 350円     .     . シート4には セルA セルB セルC 2   企業B 400円 2   企業B 400円     .     . というようにしたいのです。 わかりやすいやり方で教えて頂けたら幸いです。 よろしくお願い致します。  

  • エクセルの計算式

        A列  B列  C列  D列  E列 1行   A   2   100       ○○○ 2行   B   2    200 3行   A       200 4行   C        100 5行   A       100 上記表で、B列が空白の時の、A列のAの、C列の合計を(この場合は、300) 例えば、E列の1行目セルに表示させる時の「E1」の計算式が知りたいのですが、よろしくお願いいたします。

  • データ抜き出し・別シートへ貼付マクロ

    WinXP、Office2003を使用しています。 Sheet1に入力されている情報から、下記条件を抜き出し、あらかじめ用意 してある別シートに書き出したいをしたいと思っております。 業務が多く恥ずかしながら手が回らず、少しでも負荷を軽くしたいのですが ご存知の方がいらっしゃいましたらマクロを教えていただけませんでしょうか? なお、1行目にはタイトルが入っており、2行目以降に情報が入っています。 【実施したい処理】 ・B2セルに「/愛知」と入っていたら、A2・B2・C2セルの値を あらかじめ作成してある "/愛知"シートへ書き出す。 ・B2セルに「/東京」と入っていたら、A2・B2・C2セルの値を あらかじめ作成してある "/東京"シートへ書き出す。 ・B2セルに「/大阪」と入っていたら、A2・B2・C2セルの値を あらかじめ作成してある "/大阪"シートへ書き出す。 ※2000行ぐらい情報が入っています。 【イメージ(処理前)】        A列          B列         C列 1行目  A列タイトル      B列のタイトル     C列のタイトル 2行目 あああ/1234/111  あああ/1234/111/愛知   56789 3行目 ててて/2222/987  ててて/2222/987/東京   11122 4行目 くくく/5467/232  くくく/5467/232/愛知   65656 5行目 ままま/5555/741  ままま/5555/741/大阪   33444 【イメージ(処理後)】 愛知シート        A列          B列         C列 1行目  A列タイトル      B列のタイトル     C列のタイトル 2行目 あああ/1234/111  あああ/1234/111/愛知   56789 3行目 くくく/5467/232  くくく/5467/232/愛知   65656 東京シート        A列          B列         C列 1行目  A列タイトル      B列のタイトル     C列のタイトル 2行目 ててて/2222/987  ててて/2222/987/東京   11122 大阪シート        A列          B列         C列 1行目  A列タイトル      B列のタイトル     C列のタイトル 2行目 ままま/5555/741  ままま/5555/741/大阪   33444 わかりにくくて申し訳ございませんが、よろしくお願い致します。

  • エクセルでの書式設定

    お世話になっております。 エクセル2010でA列からZ列まで上から入力された表が有り、同一行のA,C,D・・・列が空白の場合、特定の列(B列)に数字が有るか無いかで、その行(A-Z列)を2色に分けて着色したいのですが書式設定で出来そうでうまく行きません。着色は、行全体でも構いません。 単に空白セルに着色したり、別の列に所定の条件を満たすか否かで0,1にしておいての書式設定は当方にも出来そうですが、列の増設は他人の表なので極力避けたいのでうまく行きません。 目的は同一行の他の列(A,C,D,,,)が空白の場合に、特定の列(B列)に数字が有ればその行は削除不可、B列も(行全体が)空白なら削除する。というように区別するのが目的です。 基本的には所定の入力範囲には全てのセルが空白ではないのですが、たまに上記のような行が発生し、他のエクセル表への転記時に問題が発生しますのでミス防止が目的です。

  • エクセルで個人表からの抜き出し

    いつもありがとうございます。 同じような質問があったはずですが、見つけられず質問しました。 シート1に個人表があります。  Aに個人No.、Bに氏名 C~月(1月~12月) C1・D1はセル結合で”1月”、E1・F1もセル結合で”2月”、続いてG1・H1は”3月”・・・と12月までつづきます。 2行目以降より明細が入り、C2は1月の金額、D2は1月のマイナスの金額が入っています。 マイナスの金額は入っているときと、入っていないときがあります。     A       B     C      D     E       F      G      H        I 1   NO.   氏名       1月          2月           3月 2     1    ああ   300   -10    400   -10    400            500 ・・・・・ 3    2     いい   200   -15    600          200    -10     300 ・・・・・ 4    3     うう   500   -10    900   -18    100     -5     700 ・・・・・ シート2にNO.と月を入力すえれば、氏名と数字がでてくるようにしたいのですが、できますでしょうか 例)A1に”1” の B1に”2”(2月のこと) A2に氏名、A3に2月の金額、A4に2月のマイナスの金額(無いときは空白)     A    B        1     1      2 2     ああ 3     400   4     -10

  • Excel 隣接しない列に値貼り付け

    Excel 隣接しない列に値貼り付け ※「Excel 隣接しない列に一発で値貼り付け」の書き直しです。 ある一定の書式にしたがって作成された20~30のシートのデータを1つのシートに集約しており(集約シートを含み全てのシートは同じデータ内です。)、データを集約した集約シートの「表A」は下記の添付画像左側のようになります。 やりたいことは、「表A」のB列、C列、D列、E列をある条件のもとに右側の「表B」のH列、J列、L列、N列に値の貼り付けを行いたいのです。 現在の作業工程は、C列の空白行は必要ないため(C列が空白=他の列も空白)C列に文字入力があるとチェックが入るA列のオートフィルターで、「○」のみ表示にし、B~E列を順にそれぞれ、2行目からデータが記載された最終行までコピーし 「表B」のそれぞれの箇所に値貼り付けを行っています。 この時の注意点として、A列のオートフィルタ利用のためC列には空白がありませんが、B、D、E列には空白が存在します。 データがある最終行以下の空白は必要ありませんが、データ間の空白には意味があります。(下記の図で示すと「B3、4」や「D3、4」) 現在の作業工程でも問題はないのですが、この作業は最初に記載した20~30のシートに記載されたデータの校正に使うため取りこぼしをしたくなく、不特定多数の方が簡単に使えるようにしたいので、どうにか作業工程を減らしたいと考えています。 よろしくお願いします。 ▼書式シート *シートの数は増減する。 *集約シートが参照するセルには、必ずデータが入力されているわけではない。 *入力データは全て数値ではなく文字である。 ▼集約シート *他のブックと共通使用なため、一部の式は他のブックへのコピーに対応する形である。 *空白セルを参照している場合に結果として返される「0」は、オプション設定で非表示にて対応 *「表A」の行長は増減する。 *貼り付け先「表B」の列は飛び飛びである。 ▼ちなみに「表A」に使われている計算式(実際とは一部変えています) ■A列  :C列に文字入力がある場合「○」が表示されます     {=IF(OR($C1>""),"○","")} ■B-E列:他のシートの任意のセルの値をコピー     {=IF(ISERROR(INDIRECT("'シート名'!セル")),"",INDIRECT("'シート名'!セル"))} PC環境:Win XP / Excel 2003

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • エクセル 範囲の代入

    あるセルに入力された「範囲(C10:C13など)」を 別のセルの関数式に用いることができませんか? 具体的には、 A列:項目番号 B列:区分 ※A列の項目番号が入った行のB列には、項目名が入り、C以降は空白。 C列:種別 D列:名称 E列:詳細 ※B列の区分が入った行は、A列は空白・C~E列に各入力があります。 といった表が25シートあります。 項目毎にいくつの区分をもっているか・各種別がいくつづつかを カウント式で表記を 手作業になってしまいましたが、 ひとまず 25シート全ての A列に項番の入った行のF列に 項目毎の区分数を COUNTAを使って表示させてみました。 そこから範囲を抜き出し B列の区分毎のカウントを、COUNTIFを用いて (例えば、項番1の「A」はいくつか・「B」はいくつか、項番2の「A」はいくつか・「B」はいくつか・・) を出したいのですが・・・うまくいきません。 →F列に代入した式から、範囲式部分(例えばC14:C36・・・)をG列に抜き出し、  それをCONUTIFに代入できないか? というものです。 もちろん、別の方法があれば上記のやり方に こだわりはありません! 知識不足につき お手数とは存じますが、ご教示いただけますと助かります。 よろしくお願い致します。

専門家に質問してみよう