過去ログ

                                Page     770
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ある日付以降のセルの位置を検索するには  チャオ 03/2/19(水) 22:46
   ┗Re:ある日付以降のセルの位置を検索するには  ichinose 03/2/19(水) 23:12

 ───────────────────────────────────────
 ■題名 : ある日付以降のセルの位置を検索するには
 ■名前 : チャオ
 ■日付 : 03/2/19(水) 22:46
 -------------------------------------------------------------------------
   列に日付データが複数格納されていて、日付順でソートしたあと
2003/2/19日以降のデータの先頭が何番目から始まっているかを
調べるときに、セルをひとつひとつ調べるのではなく
エクセルの関数でなにかそういう関数はないでしょうか。

2003/2/10, 2003/2/12, 2003/2/20, 2003/2/21 (実際は縦列ですが)
このデータで3番目であることを知りたいのです。

完全にマッチするのであれば、Sheets("シート名").Columns(列番号).Find
で調べられますが、ある数値以降の条件での検索は可能でしょうか。

件数が万単位であるので、検索に時間がかかってしまい
できれば、エクセルの標準関数のような高速な関数をさがしています。

よろしくお願いいたします。
 ───────────────────────────────────────  ■題名 : Re:ある日付以降のセルの位置を検索するには  ■名前 : ichinose  ■日付 : 03/2/19(水) 23:12  -------------------------------------------------------------------------
   ▼チャオ さん:
こんばんは。
以下に示された例から・・・。

>列に日付データが複数格納されていて、日付順でソートしたあと
>2003/2/19日以降のデータの先頭が何番目から始まっているか
上の「2003/2/19」という条件はセルB1に入っているとします。

>
>2003/2/10, 2003/2/12, 2003/2/20, 2003/2/21 (実際は縦列ですが)
日付データは、A1からA4に入っていたとします。

>このデータで3番目であることを知りたいのです。

3番目という答えを求めたいセルに、
「=MATCH(MIN(IF(A1:A4>B1,A1:A4)),A1:A4,0)」
と指定して下さい。
但し、配列を使っていますので、Enterキーできなく、
Ctrl+Shift+Enterでセルから抜けてください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 770