• ベストアンサー

セルに入力したデータと同じデータを抜き出す

エクセル2002を使っています。 画像の様なシートがあり、B2セルに入力した文字を、FXセルの上から10個抜き出します。 その10個のデータの関連セルのデータごと、、緑で色づけされた部分に表示させるには、どうしたらよいでしょうか? 詳しい方、よろしくお願いいたします。 ■ ■ 出来れば関数のみで実現したいです。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

式を分かり易く計算にも負担のかからない方法は作業列を使うことです。 例えばGK列を作業列としてGK1セルには次の式を入力して下方にドラッグコピーします。 =IF(FX1="","",FX1&COUNTIF(FX$1:FX1,FX1)) その後にB23セルには次の式を入力してG23セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF($GK:$GK,$B$2&ROW(A1))=0,"",INDEX($FU:$GH,MATCH($B$2&ROW(A1),$GK:$GK,0),IF(COLUMN(A1)=1,1,IF(COLUMN(A1)=2,3,IF(COLUMN(A1)<=4,COLUMN(F1),IF(COLUMN(A1)=5,12,14)))))) なお、F23セルから下方に行には日付のシリアル値が表示されますので範囲を選択して日付の表示に変更します。

gekikaraou
質問者

お礼

KURIMOTOさん 完璧でした。 ばっちり目的にたどり着くことが出来ました、エクセル初心者で、しかも続けて使うことが殆ど無いため教えて頂けるのは大変助かります。 B2は手入力で、B23~B32に表示、次にH2に手入力で H23~H32に表示と言う作業が90個くらいあるんですが、どうしよう(笑 とはいえ大変助かりました。 自力でやるのは難しそうなんでちょっと方法を考えて見ます。 ありがとうございました。

その他の回答 (5)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.6

>えっ? どういうことでしょうか? あなたが具体的にどこに何を記入しているのか知りませんので、なんでお話ししている通りの事も出来ないのかこっちが聞きたいですよ。 といっても説明するのはメンドクサイのでしょうから、ご自分で間違いを探してください。 添付図は、回答した通りにやればこの通りにできますという姿です。

gekikaraou
質問者

お礼

何度も回答を頂きありがとうございます。 回答頂いたとおりにやれば出来るのですね、ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

>FT列は空白のまま。 お話になりませんね。 ご相談の大前提で、B2若しくはFX列に正しいデータが記入されていません。 何で出来ないんでしょうね。

gekikaraou
質問者

お礼

なるほど、A23セル~A32セルにナンバリングはそのまま使うのですね。 それでもダメですね、エラーが出たりします。

gekikaraou
質問者

補足

えっ? どういうことでしょうか? A2セルは簡単な 機器名 FX列は 機器名の数種類が入力されていますが・・・。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

あぁ、なんだ。 22行目に何やらごちゃっと記入してあったのは何の説明も無くイミフメイだったのでスルーしてたんですが。 FT1に =IF(AND(FX1=$B$2,COUNTIF(FX$1:FX1,FX1)<=10),COUNTIF(FX$1:FX1,FX1),"") 以下コピー ここを変えたらまた全部やり直しなので、今回はこの通りにしてください。そろそろ。 A23以下に1から10まで番号を記入しておく B23: =IF(A23>MAX(FT:FT),"",VLOOKUP($A23,FT:HH,2)) C23: =IF(A23>MAX(FT:FT),"",VLOOKUP($A23,FT:HH,4)) D23: =IF(A23>MAX(FT:FT),"",VLOOKUP($A23,FT:HH,9)) E23: 読めないのでスルー F23: =IF(A23>MAX(FT:FT),"",VLOOKUP($A23,FT:HH,13)) G23: =IF(A23>MAX(FT:FT),"",VLOOKUP($A23,FT:HH,15)) それぞれ以下コピー とりあえずこれを機にVLOOKUP関数は勉強して、ご自分で数式が書けるようになってください。

gekikaraou
質問者

補足

んー だめですねー FT1からの入力 オートフィルで入力しました。 FT列は空白のまま。 B23に =IF(A23>MAX(FT:FT),"",VLOOKUP($A23,FT:HH,2)) を入力しましたが、一瞬0が見えて何も表示されません。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

FV1: =IF(AND(FX1=$B$2,COUNTIF(FX$1:FX1,FX1)<=10),COUNTIF(FX$1:FX1,FX1),"") 以下コピー 答えは簡単なVLOOKUP関数を使うだけです。 A23以下に1から10まで番号を記入しておく B23: =IF($A23>MAX($FW:$FW),"",VLOOKUP($A23,$FV:$GD,COLUMN(D23))) 「これを右にコピー、下にコピーします」を書いておくのを忘れたので判らなかったようですね。大変失礼しました。

gekikaraou
質問者

補足

ありがとうございます。 やってみたのですが、FVセルの機器Aにナンバリングは出来ました。 しかしB23セルには相変わらず0 C23には0 D23には55 E23には54 F23には 78 G23には0.34と表示されてしまいます。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

無駄に複雑な数式を駆使すればもちろん「やればできます」が、添付図のようにちょっと工夫するだけで、普段使いの数式だけでやっつけるのがお勧めです。 FW1: =IF(AND(FX1=$B$2,COUNTIF(FX$1:FX1,FX1)<=10),COUNTIF(FX$1:FX1,FX1),"") 以下コピー 答えは簡単なVLOOKUP関数を使うだけです。 A23以下に1から10まで番号を記入しておく B23: =IF($A23>MAX($FW:$FW),"",VLOOKUP($A23,$FW:$GD,COLUMN(C23))) まぁ一応ご参考に作業列を使わない方法: H2: =IF(ROW(B1)>COUNTIF($FX:$FX,$B$2),"",INDEX(FY:FY,SMALL(IF($FX$1:$FX$99=$B$2,ROW($FX$1:$FX$99)),ROW(B1)))) と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力 右にコピー、下にコピー。 説明は省略しますので、ブラックボックスで使ってください。

gekikaraou
質問者

補足

すいません、FW1にはデータがあり、FVセルに数式を入れて機器Aにナンバリングしました。 A23以下に1から10まで番号を記入して、B23セルに =IF($A23>MAX($FV:$FV),"",VLOOKUP($A23,$FV:$GD,COLUMN(C23))) と入力しましたがB23セルに 機器Aと表示されます。 作業列を使わない下のやり方でやってみましたが、B23が0となり求める答えにならないのですが、これはどこがいけなかったのでしょうか?

関連するQ&A

  • 入力がない場合に特定のセルに色付けをしたい

    初めに説明ベタで申し訳ありません。   A  B  C 1 2 10 100  3 4 20 200 上記のような、エクセルシートを作成しています。 Aに数値を入力し、後にBにも数値を入力します。 空白の列も出てきます。 Aに入力があるのに、Bに入力がない場合、同じ列のCのセルを色付けしたいです。 ただ、Aに入力がない列にはなにも色付けをしたくありません。 どのような関数を使用したらよろしいでしょうか? お知恵をお貸し下さい。

  • Excelのデータが重いのはなぜですか?

    1ファイルに3つのシートを作り それぞれ100列くらい文字を入力してます。 関数を1つ使っていたり セルの色づけをしたり 入力規則を使っているくらいなのですが 1ファイル、2.2Mも!あるんです。 何が原因でこんなに重たいデータになっているのかわかりません。 どうすれば軽くなるか、教えてください。 よろしくお願いいたします。

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

  • 別シートのデータを参照してセルの色を塗り替えたい

    別シートのデータを参照してセルの色を塗り替えたいのですが方法が分かりません。 エクセルの関数は初心者なのでネットや書籍でいろいろ探してはいるのですがどうしても分からなくて質問させて頂きました。 やり方を教えて頂けないでしょうか。拙い説明で申し訳ないですがお願い致します。 ↓やりたいと思ってる事 シート2の条件1にデータを入力した際、シート1の条件1に入力されてるデータと照合し、一致する場合はシート1の条件2の値に応じてシート2のセルの色を変えたいと思ってます。 参考画像を例にしますと、シート2の条件1に「あ」と入力した場合、 シート1の条件1と照合するとデータが存在します。その際、条件2を見ると「A」となっていますが、Aの場合は赤、Bの場合は緑…といったように変えたいです。

  • 共通データのある複数のセルを1つにまとめる

    宜しくお願いします。 Excelで住所録を編集したいのですが、 画像の様に、B列の文字(市町村区)が一致する場合、 以降の住所を同じセルでまとめたいのですが、 関数でできることなのでしょうか? 画像の上が元データになります。 下画像のAB列は、入力済みとお考えください。 C列に関数を入れ、該当データを引っ張ってきたいです。 まとめられたデータに区切り等は不要です。 お分かりの方はお力添えください。 宜しくお願いいたします。

  • 別シートの文字列があったら現シートのセルの色変える

    こんにちは。 エクセル2010を使用しています。質問させて下さい。 BシートのA列に下記のような文字列があります。 ------以下文字列------- 秋山 清原 デストラーデ 渡辺 ------以上文字列------- この時、AシートのセルにBシートに現れる文字列があった場合に色づけがしたいです。 例えば、Aシートに”清原”というセルがあったら、Bシートを参照して色づけされる。 この様なことをどうすれば実現できますでしょうか? ご教示願います。

  • 入力済みのセルのデータのみを引っ張ってくる関数

    タイトルの件、質問致します。 下記の図をご覧ください。 B1、B2 セルには、数値データが入力されています。 ⇒例123,456 など そこで、B5セルに、B1セルかB2セルのどちらかデータが入力されている方のデータを 表示したいです。 B1、B2セルのどちらかに決まっていれば ●=B1 もしくは =B2 で充分です。 しかし、今回は、2つのセルの内、入力されている方のデータを引っ張ってきたいです。 B1とB2のセルは、どちらかが空白という事です。 また、もしできたら B1、B2とどちらにも、データが入力されていた場合、B1とB2のデータが同じならそれで 良いですが、違う場合は、違うと表示させるような関数もわかる方は教えて下さい。 この関数の場所は、B5ではなくてもOKです。 以上、ご存じの方いらっしゃいましたら、宜しくお願いします。

  • EXCELでセルに入力されたセルを参照したい。

    はじめまして、EXCEL 2000 で質問です。 セルに入力されている文字列を、参照する関数があれば教えていただきたいです。 たとえば、セルA1に 文字列"B32"を入力します。 セルB1に =sansyou(A1) という関数を入力すれば セルB32の内容が参照される。 ということがやりたいのです。 C言語ですと、ポインタに相当するとおもいます。 どうか皆さんの知恵を分けてください。

  • 左文字が合致したらセルに入力

    シートAのB列に数字を記入しておりその左セルにシートBの左文字と合致した文字をExcel関数を遣って入力できたのですが同じ左文字4、6番は入できず空白欄に埋め込みたいのですがどなたかExcel関数の解る方よろしくお願いします。

  • 関数を入力したセルがグラフに表示されない方法

    エクセルのグラフについて質問です。 A.Bの2枚のシートがあります。 シートBには、一部、IF関数を入力したセルが含まれています。 このセルを含め、シートB上の複数行のデータをグラフ化したいのですが、以下のような誤表示がされてしまいます。 ○問題点 シートBの数値が入っているセル(入力した関数の計算の結果(数字)が表示されているもの)は、グラフ上に正確に表示される。 しかし、上記IF関数が入力されているセル(表示部は#VALUE!となっている)を反映するグラフの該当部分は、数字が入っていないにもかからず、グラフから見切れてしまう。 ○解決したい点 #VALUE!表示のセルのデータは、グラフにも反映させたくない。 何とか、結果が出ているセルのみをグラフに反映させ、数式が入っている状態のセルの内容はグラフ上は非表示にする、ということはできないでしょうか? ご存知の方、よろしくお願いします。

専門家に質問してみよう