プロが教えるわが家の防犯対策術!

excelで特定範囲の特定数値を指定する方法について

A列に曜日を入れて、B列、C列に数字を入れるとします。例えば、ここで日曜日のB列の数値を基準として、「日曜日以外の曜日の中で、B列の値が日曜日より高く、さらにその曜日のC列より高い」という条件を、何ヶ月分もまとめてD列に呼びだすことは可能でしょうか?

どうぞ宜しくお願い致します。

A 回答 (3件)

こんにちは!


外していたらごめんなさい。

↓の画像で説明させていただきます。
A列の曜日はシリアル値が入っていて、表示形式だけをユーザー定義から aaa としています。

作業用の列を1列設けています。
作業列D2セルに
=IF(AND(B2>INDEX($B$2:B2,LARGE(IF(WEEKDAY($A$2:A2)=1,ROW($A$1:A1)),1)),B2>C2),B2,"")

これは配列数式になってしまいますので、この画面からD2セルにコピー&ペーストしただけではエラーになると思います。
貼り付け後、F2キーを押す、又はD2セルをダブルクリック、又は数式バー内で一度クリックします。
編集可能になりますので、
Shift+Ctrlキーを押しながらEnterキーで確定します。
数式の前後に{ }マークが入り配列数式になります。
そしてフィルハンドルの(+)マークでダブルクリック、又はオートフィルでずぃ~~~!っと下へコピーします。

これで直前の日曜日の値より大きく、同じ行のC列よりも大きいものだけが表示されると思います。

これを結果のE列に空白を無視して上から表示させます。

E2セルの数式は
=IF(COUNT($D$2:$D$1000)<ROW(A1),"",INDEX($D$2:$D$1000,SMALL(IF($D$2:$D$1000<>"",ROW($A$1:$A$999)),ROW(A1))))

これも配列数式になってしまいますので、Shift+Ctrlキーを押しながら、Enterキーで確定です。
このE2セルをオートフィルで下へコピーすると
画像のような感じになります。
尚、E列の数式は元データが1000行目まで対応できるようにしていますが
データ量によって範囲指定の領域はアレンジしてみてください。

以上、長々と書きましたが
参考になれば幸いです。

的外れなら読み流してくださいね。m(__)m
「excelで特定範囲の特定数値を指定する」の回答画像3
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。丁寧でわかりやすいです。
参考にさせていただきます。貴重な時間を割いていただき本当に感謝です!

お礼日時:2010/05/16 00:50

E1セル =IF(A2="日",B2,E1)


F1セル =IF(AND(B2>E2,B2>C2),B2,"")
下へオートフィル
H1:H2が抽出条件範囲

データ-フィルタ-フィルタオプションの設定
●指定した範囲
リスト範囲:$F$1:$F$18
検索条件範囲:$H$1:$H$2
抽出範囲:$D$1
「excelで特定範囲の特定数値を指定する」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!簡潔でわかりやすいです。
参考にさせていただきます。勉強になりました。

お礼日時:2010/05/16 00:40

 不明な点があるため、補足情報を頂けないでしょうか。



(1)基準となる日曜日とは、D列に表示するか否かを判定する対象となる日付の、直前の日曜日の事なのでしょうか、それとも直後の日曜日の事なのでしょうか、或いは全ての日曜日の中でB列の値が最も高い日曜日の事なのでしょうか。


(2)
>さらにその曜日のC列より高い

とは、
「その日付が入力されている行におけるB列のセルの値が、同じ行におけるC列のセルの値よりも高い」
という意味でしょうか、それとも、
「何ヶ月分もあるデータの中に、複数存在する曜日が同じのデータの中で、C列のセルの値の最高値と比較して、その日付が入力されている行におけるB列のセルの値がそれより高い」
という意味でしょうか。

この回答への補足

(1)D列に表示するか否かを判定する対象となる日付の、直前の日曜日の事です。

(2)「その日付が入力されている行におけるB列のセルの値が、同じ行におけるC列のセルの値
   よりも高い」で合ってます。

説明不足ですいませんでした。初心者なもので・・・

補足日時:2010/05/15 06:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!