[[20100514163147]] 『本日より1週間以内でデータが存在するセルの選択』(ヒサ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『本日より1週間以内でデータが存在するセルの選択』(ヒサ)
 お力を貸してください

    A     B    C   D    E    F    G   H    I    J
 1      5/13 5/14 5/15 5/16 5/17 5/18 5/19 5/20 5/21 
 2 
 3 数量                 5    6              

と日付と数量の関係を表した表があるとします。

 この表で本日から7日以内で、数量の入っている最初のセルのみの
 日にちを取り出す関数を教えてください。
 本日5/14とすると、E列に5が入っているので、5/16という日付のみを
 を取り出したいのです。
 ちなみに、today関数で本日日付を持っているセルは別途存在しています。

 EXCEL2000です。

 よろしくお願いいたします。

 こんばんは!
 >ちなみに、today関数で本日日付を持っているセルは別途存在しています。
 B10にtoday関数があるとして

 =IF(SUM(OFFSET($A$1,2,MATCH(B10,1:1,0)-1,1,7))>0,
MIN(IF(ISNUMBER(OFFSET($A$1,2,MATCH(B10,1:1,0)-1,1,7))*(OFFSET($A$1,2,MATCH(B10,1:1,0)-1,1,7)>0),OFFSET($A$1,,MATCH(B10,1:1,0)-1,1,7))),"")

 Ctr+Shift+Enterでどうでしょう?

 一応、検証しています。
 (SoulMan)


 作業用の行を使用する方法です。
 仮に4行目を作業用の行として

 B4
 =IF(AND(COUNT(B3),B1>=TODAY(),B1<=TODAY()+7),COLUMN(),"") 
 右にコピー

 あとはこの作業用の行を利用して
 =SUMIF(B4:J4,MIN(B4:J4),B1:J1)

 (えくせる青年)2010/5/14 20:32

 すみません。
最初の式はゼロに反応しませんね
↓に訂正させてください
=IF(COUNT(OFFSET($A$1,2,MATCH(B10,1:1,0)-1,1,7))>0,
MIN(IF(ISNUMBER(OFFSET($A$1,2,MATCH(B10,1:1,0)-1,1,7)),OFFSET($A$1,,MATCH(B10,1:1,0)-1,1,7))),"")
ちょっと訂正
2010/05/14 20:57
(SoulMan)

 SoulManさん、えくせる青年さん、ありがとうございます。

 すぐに考えられるなんて羨ましいです。

 早速実行してみます・・・。

 =LARGE(INDEX(($B$1:$O$1>=TODAY())*($B$1:$O$1<=TODAY()+6)*($B$3:$O$3<>"")*$B$1:$O$1,),7-SUMPRODUCT(($B$1:$O$1>=TODAY())*($B$1:$O$1<=TODAY()+6)*($B$3:$O$3="")))

 {=MIN(IF(($B$1:$O$1>=TODAY())*($B$1:$O$1<=TODAY()+6)*($B$3:$O$3<>"")>0,B$1:$O$1,""))}
 Ctr+Shift+Enter

 こんにちは〜♪

 こんな式でもいいですね。。。

 TODAY関数がA2セルにある場合です。。。

 =INDEX(3:3,MATCH(1,INDEX((A2<=B1:J1)*(A2+7>=B1:J1)*(B3:J3<>""),),0)+1)

 ★B1:J1 と B3:J3 の範囲は必要範囲に変更してください。。。

 。。。Ms.Rin〜♪♪


 こんにちは。
Ms.Rinさんと同じ考え方ですが、HLOOKUPを使ってみました。

  ※「_」セルは未入力または""
  [R/C]     [A]   [B]   [C]   [D]   [E]   [F]   [G]   [H]   [I]   [J]
   [1]   今日↓  5/13  5/14  5/15  5/16  5/17  5/18  5/19  5/20  5/21
   [2]     5/14     _     _     _     _     _     _     _     _     _
   [3]     数量     _     _     _     5     6     _     _     _     _

   =HLOOKUP(1,IF({1;0},INDEX((B1:J1>=A2)*(B1:J1<=A2+7)*(B3:J3<>""),),B1:J1),2,FALSE)

 ちなみに、IF({1;0},〜の使い方は、こちらで知りました。
[[20070427203222]]『不思議なVLOOKUP』(代奈)

 あと、余計なお世話でごめんなさいですが、Ms.Rinさんの数式で、
「3:3」の部分を「1:1」にすると、日付が返りますね。
(コタ)

 ふたたび〜です。。。♪

 >あと、余計なお世話でごめんなさいですが、Ms.Rinさんの数式で、
 >「3:3」の部分を「1:1」にすると、日付が返りますね

 カン違いしていました。
 数量でなく、日付を返すんでしたね。。。

 コタさんフォローありがとうございました。。。

 。。。Ms.Rin〜♪♪


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.