ますたあの遊び部屋

パソコンのソフト・ハード関連、写真、イラスト他のブログです。

COUNTA関数でエラー処理

2014年12月12日 | パソコンソフト

件の和牛データベース、じつは、解決できていない問題が残っていました。

イメージは出来ていたんですが、試していなかったんですね。^^;

 

あれから、またまた修正を加えまして、AI(人工授精)後の経過日数を計算させるようにしました。

これの計算式はさほど難しいくはありませんが、1列づれた分の修正は大変でした...。^^;

式は

=IF(C3="","",IF(INDEX(一覧表!$A$3:$L$20,MATCH(SMALL(一覧表!$D$3:$D$20,ROW(F1)),一覧表!$D$3:$D$20,0),COLUMN($F1))="(+)","",TODAY()-C3))

さて、残っている問題とは、上図分娩予定順シートのF列に入る式、

一覧表シートの鑑定欄にマークが入っていないときの対処方法です。

取りあえずの応急処置として、鑑定欄にマークが入れられない場合、

空白を一つ入れて0を表示させないようにしてありました。

 

今日、入力作業が有りまして、その際に、イメージしていたモノを試してみようかと

一覧表シートのF列の(+)の記号の数を数えてROW関数と比較したらIF関数の条件式に使えるのではないかと...。

以下のような式を作ってみました。

=COUNTA(一覧表!$F$3:$F$25)>=ROW(A1)

これをオートフィルして式のコピーをしてみましたら、見事にTRUEとFALSEに分かれてくれて、、、

おー、使える~~。(^^)v

 

この式の場合、行番号よりもCOUNTAで調べた個数が同じか大きいとなりますので

IF関数で分岐させるときに、FALSEに空白のエラー処理が入ります。

理屈は分かっていますが、あまりに式が長くなりすぎて、、、

一瞬どこに入れたらいいのか迷ってしまって...。(^^ゞ

 

こんな式になりました。

=IF(COUNTA(一覧表!$F$3:$F$25)>=ROW(A1),IF(ISERR(INDEX(一覧表!$A$3:$L$20,MATCH(SMALL(一覧表!$D$3:$D$20,ROW(F1)),一覧表!$D$3:$D$20,0),COLUMN($F1))),"",INDEX(一覧表!$A$3:$L$20,MATCH(SMALL(一覧表!$D$3:$D$20,ROW(F1)),一覧表!$D$3:$D$20,0),COLUMN($F1))),"")

式をオートフィルでコピーして、考えた通りの結果が返った時は

思わずガッツポーズをしたりして...。(^^ゞ

ちょっと嬉しかったのでブログの記事にしちゃいました。^^

 

お粗末様でした。^^;

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 昨夜の講習会 | トップ | COUNTIF関数でエラー処理修正 »
最新の画像もっと見る

コメントを投稿