• ベストアンサー

エクセルの表について

エクセルの表で縦に、「予定」「実績」「進度」という文字が入っているセルがあります。 その下には「完成品」や「メッキ完成品」といった「~完成品」と書かれたセルがあり、その下にも 「仕掛品」「Pr完成品」と書かれたセルがあるとします。 「予定」から「仕掛品(等)」までが1ブロックだと考えて、それが100ブロック縦に並んでいたとして 「進度」の下のセルの「~完成品」のみ表示したいとしたら、それは可能ですか? うまく質問出来ていないかもしれないですが、回答お願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 確認したいのですが、「進度」の下のセルには必ず「~完成品」と書かれたセルがある、と考えて宜しいのでしょうか?  もしそうだとすれば、次の様な方法は如何でしょうか。  今仮に、「予定」「実績」「進度」等が入っているセルがある列が、Sheet1のA列であるものとします。  まず、最初の「進度」の下にある「~完成品」の内容を表示させるセルに、次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNTIF(Sheet1!$A:$A,"進度"),"",INDEX(Sheet1!A:A,SUMPRODUCT(ROW(OFFSET(Sheet1!$A$1,1,,MATCH("゛",Sheet1!$A:$A,-1)))*(OFFSET(Sheet1!$A$1,,,MATCH("゛",Sheet1!$A:$A,-1))="進度")*(COUNTIF(OFFSET(Sheet1!$A$1,,,ROW(OFFSET(Sheet1!$A$1,,,MATCH("゛",Sheet1!$A:$A,-1)))),"進度")=ROWS($1:1)))))  そして、そのセルをコピーして、そのセルよりも下にあるセルに貼り付けていけば、「進度」と入力されているセルの下にあるセルの内容が、抽出されます。

ky653450
質問者

お礼

ご回答有難う御座いました。

その他の回答 (3)

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

>「進度」の下のセルの「~完成品」のみ表示したい 簡単な方法: そういったリストがA列に並んでいるとすると B2に =IF(A1="進度","○","") という式を入れておいてリスト下端までつるつるっとコピーしておき, オートフィルタを取り付けてB列の○で絞り込んでやると,進度の下の行だけを表示できます。 ご相談が不明瞭で,実は進度の下に「~完成品」と『記入されていない』ケースもあるのでそういうのは除外したいとか,実は進度の下幾つか飛ばして初めて~完成品が出てくるみたいなケースもあるというのなら,そういった実際の姿に合うようにまた数式を修正します。 #言わずもがなですが「進度の下のセル」をオートフィルタで直接絞り出すなんてマネは,勿論出来ません。 どうしても作業列を使いたくなければ,オートフィルタじゃなく「フィルタオプションの設定」という機能で直接絞り出す事は出来ます。

ky653450
質問者

お礼

ご回答有難う御座いました。

  • imo8001
  • ベストアンサー率14% (26/179)
回答No.2

うーん おっしゃることがよくわかりません オートフィルターでは単一要素での絞り込みになるので 完成品を含むものがすべて表示というのはあり得ないのですが、、 違う意味であるとするならばもっと別な表現にはなりませんか? VBAでやれば簡単なんですけどね・・

ky653450
質問者

お礼

ご回答有難うございました。

  • imo8001
  • ベストアンサー率14% (26/179)
回答No.1

「~完成品」のセル以外は表示しない という意味ですか? 一番簡単なのは オートフィルターを使うことですね オートフィルターでネット検索すれば使い方がいろいろ出てきます

ky653450
質問者

お礼

オートフィルタだと、完成品と付く物は全て表示されてしまうのでダメなのです。 「進度」の下のセルの「~完成品」だけ欲しいのです。 回答有難う御座いました。

関連するQ&A