- ベストアンサー
excelで特定範囲の特定数値を指定する方法について
excelで特定範囲の特定数値を指定する方法について A列に曜日を入れて、B列、C列に数字を入れるとします。例えば、ここで日曜日のB列の数値を基準として、「日曜日以外の曜日の中で、B列の値が日曜日より高く、さらにその曜日のC列より高い」という条件を、何ヶ月分もまとめてD列に呼びだすことは可能でしょうか? どうぞ宜しくお願い致します。
- みんなの回答 (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
その他の回答 (2)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- kagakusuki
- ベストアンサー率51% (2610/5101)
不明な点があるため、補足情報を頂けないでしょうか。 (1)基準となる日曜日とは、D列に表示するか否かを判定する対象となる日付の、直前の日曜日の事なのでしょうか、それとも直後の日曜日の事なのでしょうか、或いは全ての日曜日の中でB列の値が最も高い日曜日の事なのでしょうか。 (2) >さらにその曜日のC列より高い とは、 「その日付が入力されている行におけるB列のセルの値が、同じ行におけるC列のセルの値よりも高い」 という意味でしょうか、それとも、 「何ヶ月分もあるデータの中に、複数存在する曜日が同じのデータの中で、C列のセルの値の最高値と比較して、その日付が入力されている行におけるB列のセルの値がそれより高い」 という意味でしょうか。
補足
(1)D列に表示するか否かを判定する対象となる日付の、直前の日曜日の事です。 (2)「その日付が入力されている行におけるB列のセルの値が、同じ行におけるC列のセルの値 よりも高い」で合ってます。 説明不足ですいませんでした。初心者なもので・・・
お礼
ご回答いただきありがとうございます。丁寧でわかりやすいです。 参考にさせていただきます。貴重な時間を割いていただき本当に感謝です!