Excelワザ_IF関数の不思議

生徒さんの質問で
ちょっと苦戦したので、備忘録
【例】
b0186959_1025412.jpg
b0186959_11192412.jpg


【もし、B列の入荷数が入っていれば
A列の日付をセルB9に表示する。
日付の規則性はないが、
日付は古い日付→新しい日付
最大5行分の空白の行がある場合がある。
例えば、
セルB2の入荷数がなく、B3に入荷数が入ればA3の日付が入るように、
セルB2~B3の入荷数がなく、B4に入荷数が入ればセルA4の日付が入るように、
セルB2~B4の入荷数がなく、B5に入荷数が入ればセルA5の日付が入るように、
セルB2~B5の入荷数がなく、B6に入荷数が入ればセルA6の日付が入るように、
セルB2~B6の入荷数がなく、B7に入荷数が入ればセルA7の日付が入るように】
IF関数と、COUNT BLANK関数と使ってやってみる。
最初、頭から順に式を立てると、
=IF(COUNTBLANK(B2)=1,A3,
IF(COUNTBLANK(B2:B3)=2,A4,
IF(COUNTBLANK(B2:B4)=3,A5,
IF(COUNTBLANK(B2:B5)=4,A6,
IF(COUNTBLANK(B2:B6)=5,A7,
A2)))))
で、結果、B2だけが空白の場合は
ちゃんと日付が出るが、
B2~B3、B4…と2行以上空白になると、
「1月0日」となってしまう008.gif
b0186959_10495132.jpg

で、それを逆からやってみると、
うまくいきました006.gif

=IF(COUNTBLANK(B2:B6)=5,A7,
IF(COUNTBLANK(B2:B5)=4,A6,
IF(COUNTBLANK(B2:B4)=3,A5,
IF(COUNTBLANK(B2:B3)=2,A4,
IF(COUNTBLANK(B2)=1,A3,
A2)))))

う~~むExcelめ013.gif
b0186959_10515814.jpg

[PR]

by school-pc | 2011-04-28 11:14 | Comments(0)