[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセル日付を基に抽出』(あず)
簡単に説明しますと、A1に日付が入っている表があります。
それに基づく関数と条件付き書式を使用したいので
お力を貸して下さい。(初心者の質問ですみません<m(__)m>)
@A1に日付が入っていたらA2に●を入力し、A1〜A2の行を黄色で塗りつぶす。
A更にその日付が直近1週間のものであれば、A2に◎を入力し、A1〜A3の行を黄色で塗りつぶす。※この場合、2010/05/18より直近1週間以内のもの
A1 A2 2010/05/1 ● 2010/05/8 ● 2010/05/5 ●
2010/05/15 ◎ 2010/05/1 ● 2010/05/17 ◎
お手数ですがよろしくお願い致します。
> A1〜A2の行を黄色で塗りつぶす・・・・あえてA2に"●"を入れる必要はない思いますが。 >にその日付が直近1週間のものであれば ・・・色を「赤」とすればいいのでは。
>、●のものだけと抽出しやすいかな A1に日付が入るか、(グランク)のどちらか、なら 抽出の式で、=IF(A<>""、・・・等で条件を設定できます。また「日付が5月のもの」という条件設定で抽出できます。 また直近1週間も (基準日)-(日付)<=7という条件で求められます。
「抽出」が何を抽出するか、「日付」を抽出するのか、日付の入った行のある列のデータを抽出するのか。分からないことが多いですが。 A C D 1 2010/05/1 2010/05/1 2010/05/15 2 2010/05/8 2010/05/8 2010/05/17 3 2010/05/5 2010/05/5 4 2010/05/15 5 2010/05/15 2010/05/1 6 2010/05/1 2010/05/17 7 2010/05/17
C列に抽出 (ほとんどそのまま,ブランクを上に詰めています) C1:=IF(COUNT($A$1:$A$7)<ROW(A1),"",INDEX($A$1:$A$7,SMALL(IF($A$1:$A$7<>"",ROW($A$1:$A$7),""),ROW(C1)))) 配列数式ですので Shift+Ctrl+Enetrの3つを同時に押して 確定。C7まで下へコピー
D列に抽出(直近1週間,"2010/5/13"以降) D1:=IF(COUNTIF($A$1:$A$7,">=2010/5/13")<ROW(A1),"",INDEX($A$1:$A$7,SMALL(IF($A$1:$A$7>="2010/5/13"*1,ROW($A$1:$A$7),""),ROW(C1)))) 配列数式ですので Shift+Ctrl+Enetrの3つを同時に押して 確定。D7まで下へコピー
>だとどういった数式で求められるのか につられて長々した式を書いてしまいましたが。
日付が入っているのをマークするのに"●"などでは、"行"の情報が入っていません。 B1:=IF(A1<>"",ROW(A1),"") とすれば 日付の入っている行の行番号を拾い出すことが出来ます。 またこの列はふつう「作業列」として表には出しません。 直近1週間を区別して抽出等をするのなら、列を別にし、例えば C1:=IF(A1>="2010/5/13"*1,ROW(A1),"")としたほうが、やりやすいです。 B列は直近1週間を除いて、 B1:=IF(AND(A1<>"",A1<"2010/5/13"*1),ROW(A1),"")とします。
「抽出」はA列(日付)を基準にオートフィルタによるほうが、簡単です。B列、C列(作業列)なしで、いろいろな条件で抽出できます。(2010/5/13以上等も)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.