[[20111024153748]] 『IFERRORの代用関数について』(ロック20) ページの最後に飛ぶ

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

 

『IFERRORの代用関数について』(ロック20)

現在(エクセル2007で作成)このような関数が入っているのですが、エクセル2003だとIFERROR関数が無いため、正常に表示できません。
IFERRORに代わる関数式があれば、教えていただけますでしょうか?
=IFERROR(ROUNDDOWN(IF(AND(AND($C$100="該当",AND($C$125="非該当"))),$E$76*$C$77*$J$78," "),-1)," ")


 IF と ISERROR の組合せかな?
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-kansu.html

 (ぶらっと)

 単純にIFERRORを置き換えるんだったら

 =IF(ISERROR(ROUNDDOWN(IF(AND(AND($C$100="該当",AND($C$125="非該当"))),$E$76*$C$77*$J$78," "),-1))," ",ROUNDDOWN(IF(AND(AND($C$100="該当",AND($C$125="非該当"))),$E$76*$C$77*$J$78," "),-1))

 だろうけど式内の無駄な部分を省いたり同じ意味の式に置き換えたりしたら

 =IF(AND($C$100="該当",$C$125="非該当",ISNUMBER($E$76*$C$77*$J$78)),ROUNDDOWN($E$76*$C$77*$J$78,-1)," ")
 かな?
 (最後の部分を""にしてないのは何か意味があるのかもしれないんで)
 (春日野馨)

 =IF(AND($C$100="該当",$C$125="非該当"),ROUNDDOWN($E$76*$C$77*$J$78,-1)," ")

 で、いい?

 ※結局IF関数の判定がFALSEのときにROUNDDOWNが文字列扱ってエラーになるんで。
   もっと用心するなら春日野馨さんの回答やね。

 (GobGob)


 私も2003の時に2007で顧客から送られてきたのを全て直すのが面倒な時がありました。

 そんな時はIFERRORやSUMIFSなんかは関数はそのままで
 自分で関数を実装していました。

 この程度で動くはずです。

  Public Function IFERROR(値 As Variant, エラーの場合の値 As Variant) As Variant
  Application.Volatile
  If IsError(値) Then
    IFERROR = エラーの場合の値
  Else
    IFERROR = 値
  End If
  End Function

 (momo)

コメント返信:

[ 一覧(最新更新順) ]


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