- ベストアンサー
エクセルの表について
エクセルの表で縦に、「予定」「実績」「進度」という文字が入っているセルがあります。 その下には「完成品」や「メッキ完成品」といった「~完成品」と書かれたセルがあり、その下にも 「仕掛品」「Pr完成品」と書かれたセルがあるとします。 「予定」から「仕掛品(等)」までが1ブロックだと考えて、それが100ブロック縦に並んでいたとして 「進度」の下のセルの「~完成品」のみ表示したいとしたら、それは可能ですか? うまく質問出来ていないかもしれないですが、回答お願いします。
- みんなの回答 (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))))) そして、そのセルをコピーして、そのセルよりも下にあるセルに貼り付けていけば、「進度」と入力されているセルの下にあるセルの内容が、抽出されます。
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
>「進度」の下のセルの「~完成品」のみ表示したい 簡単な方法: そういったリストがA列に並んでいるとすると B2に =IF(A1="進度","○","") という式を入れておいてリスト下端までつるつるっとコピーしておき, オートフィルタを取り付けてB列の○で絞り込んでやると,進度の下の行だけを表示できます。 ご相談が不明瞭で,実は進度の下に「~完成品」と『記入されていない』ケースもあるのでそういうのは除外したいとか,実は進度の下幾つか飛ばして初めて~完成品が出てくるみたいなケースもあるというのなら,そういった実際の姿に合うようにまた数式を修正します。 #言わずもがなですが「進度の下のセル」をオートフィルタで直接絞り出すなんてマネは,勿論出来ません。 どうしても作業列を使いたくなければ,オートフィルタじゃなく「フィルタオプションの設定」という機能で直接絞り出す事は出来ます。
お礼
ご回答有難う御座いました。
- imo8001
- ベストアンサー率14% (26/179)
うーん おっしゃることがよくわかりません オートフィルターでは単一要素での絞り込みになるので 完成品を含むものがすべて表示というのはあり得ないのですが、、 違う意味であるとするならばもっと別な表現にはなりませんか? VBAでやれば簡単なんですけどね・・
お礼
ご回答有難うございました。
- imo8001
- ベストアンサー率14% (26/179)
「~完成品」のセル以外は表示しない という意味ですか? 一番簡単なのは オートフィルターを使うことですね オートフィルターでネット検索すれば使い方がいろいろ出てきます
お礼
オートフィルタだと、完成品と付く物は全て表示されてしまうのでダメなのです。 「進度」の下のセルの「~完成品」だけ欲しいのです。 回答有難う御座いました。
お礼
ご回答有難う御座いました。