ROW関数はともかく、SMALL関数なんて使ったことなかったから、調べてみた。SMALL関数[配列]の範囲のなかで、小さいほうから数えた[順位]の値を求めます。検索範囲をセル範囲または配列で指定します。文字列や論理値の入力されているセル、空白のセルは無視されます。求めたい値の順位を指定します。小さいほうから数えて何番目かという値を指定します。これだと順位を指定するI列も、RANK関数もいらねーじゃん!SUGEEEEEE!!!!!!!!つまり、画像のJ2セルに=IF(F2<>"",SMALL(F$2:F$7,ROW()-1),"")が入っているとすると、ROW()は「2」を返すので、ROW()-1の値は「1」。SMALL関数によって、F$2:F$7の範囲内の「小さいほうから数え」て「1」番目の値(すなわち、一番小さな値)が返ることになるわけだ。ROW()の値は下に行くほど増えていくので、順に2番目に小さな値、3番目に小さな値......と並ぶことにより、結果的に並べ替えられた値が並ぶ......。さんが仰せのように、こうなりますw私が職場で見た用例の場合、同じ日付が出てくることがあり得ないようなタイプの帳票だったので、これで良かった、ということです。何の問題もなく動作します。»プロフィールid:akashi_keirinExcelVBAネタです。SyntaxHighlighter.all();注目記事はてなブログをはじめよう!akashi_keirinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。