• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2003 IFERROR関数がない?)

Excel 2003にはIFERROR関数がない?

このQ&Aのポイント
  • Excel 2003ではIFERROR関数が利用できないことがわかりました。以前教えていただいた関数を使用しようとしたところ、小文字のままのIFERRORとなっているためにエラーが発生しました。
  • 具体的な式は、IFERRORの箇所を修正してExcel 2003でも動作するようにしたいとのことです。
  • この問題に対する解決策や代替手段について教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

今ある計算式をまるごとISERRORに詰め込むような、無駄な計算をするのはナンセンスというモノです。 計算式中の一体どの部分がエラーになると困るのか、考えて作成してみます。 例えば: =IF(OR({"ANB","ABS","ABJ","ABX"}=LEFT(S2,3)),SUMPRODUCT(SUMIF(B4:B13,B18:B27,OFFSET(C4:C13,0,MATCH(LEFT(S2,3),{"ABN","×","ABS","×","ABJ","×","ABX"},0)-COUNTIF(B18:B27,"天井交換")))),0)*24

kero1192kero
質問者

お礼

If関数とor関数を組み合わせて、質問で提示した式と同等の式を作りあげてしまうなんてびっくりしました。奥が深いですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • hirama_24
  • ベストアンサー率18% (448/2473)
回答No.3
kero1192kero
質問者

お礼

御手数をお掛けして申し訳ありませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • chie65535
  • ベストアンサー率43% (8533/19397)
回答No.2

=IFERROR(ほげほげ, エラーの時の値) は =IF(ISERROR(ほげほげ), エラーの時の値, ほげほげ) に直しましょう。

kero1192kero
質問者

お礼

IF関数とISERROR関数を組み合わせる事で可能だったんですね。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

次の式でどうでしょう。 =IF(ISERROR(SUMPRODUCT(SUMIF(B4:B13,B18:B27,OFFSET(C4:C13,0,MATCH(LEFT(S2,3),{"ABN","×","ABS","×","ABJ","×","ABX"},0)-COUNTIF(B18:B27,"天井交換"))))),0,SUMPRODUCT(SUMIF(B4:B13,B18:B27,OFFSET(C4:C13,0,MATCH(LEFT(S2,3),{"ABN","×","ABS","×","ABJ","×","ABX"},0)-COUNTIF(B18:B27,"天井交換"))))*24)

kero1192kero
質問者

お礼

IF関数とISERROR関数を組み合わせる事で可能だったんですね。ありがとうございました。だけど、だいぶ長い式になるんですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで数式中に他セルの値

    Excelで数式について、他のセルに書いてある数字を文字列として代入したいのですが、 どうすればよいでしょうか。 具体的には 1  A1に10と入っており 2-1 B2に=COUNTIF(OFFSET(A1:D10, 0, 1), "=【A1】") 2-2 SUMIF(~~~, "=【A1】", ~~~) のような形で、A1の値に応じてCOUNTIFとSUMIFの条件分岐をしたいのです。 よろしくお願いします。

  • excelの関数(offsetやaddressについて)

    excelの質問です。 現在C4からC8に、SMALL関数を使って、指定範囲中の1番目から5番目までの小ささの値を抽出しています。 そして、B4からB8に、C4からC8の抽出元のセルの6列左にあるセルの値「名前」を抽出しようとしているのですが、うまくできません。 offset関数の"基準"はセルの番地でないといけないようなので、 、値を返すSMALL関数は直接代入できません。 ネットで調べたら、抽出された最大値の番地を返す式 ADDRESS(SUMPRODUCT((MAX(K2:K75)=K2:K75)*ROW(K2:K75)),SUMPRODUCT((MIN(K2:K75)=K2:K75)*COLUMN(K2:K75)),4) を見つけたのですが、これを直接offset関数の"基準"に代入してもなぜかエラーが出てしまいます。 どうしたらうまくできるでしょうか。 全く上記に書いたやり方と違っても構いません。 よろしくお願いします。

  • Excel 関数について

    AND ASC AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS COLUMN COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS DATE DAY FIND HLOOKUP HOUR IF IFERROR INDEX INDIRECT JIS LARGE LEFT LEN LOWER MATCH MAX MEDIAN MID MIN MINUTE MOD MODE MONTH NOT OR PHONETIC PROPER RANK RIGHT ROUNDDOWN ROUNDUP ROW SECOND SMALL SUM SUMIF SUMIFS TEXT UPPER VLOOKUP WEEKDAY WORKDAY WORKDAY.INTL YEAR これくらい自由に使えますが、一般企業で使用するならこれくらい使えればいいですか。 また、これはよく使うという関数を教えてください(表記以外で)

  • エクセル 関数 条件分岐

    いつも回答して頂き、とても感謝しています。 前回、質問して回答して頂いたのですが、新たに分岐(アルミ1、アルミ2、アルミ3)が生まれたので質問します。 前回に教えて頂いた関数式が以下の通りです。 =SUMPRODUCT(SUMIF($B$4:$B$13,B17:B23,IF(ISNA(MATCH("天井交換",B17:B23,0)),$D$4:$D$13,$C$4:$C$13))) B17セルに、アルミ1と入れた時、条件1または条件2の列が参照して、計算される。 B17セルに、アルミ2と入れた時、条件3または条件4の列が参照して、計算される。 B17セルに、アルミ3と入れた時、条件5または条件6の列が参照して、計算される。 様にしたいのですが、どうすればよろしいのでしょうか? 御指導の程宜しくお願い致します。

  • エクセル関数について

    エクセルでデータベースを作っています。別のシートからデータを抽出して合計を出すというものなのですが、どうも関数がうまくいきません。 別のシートには日付・現場名・費目・時間・金額などが入力されています。(オートフィルタが使われていました)そしてデータベースには現場名と費目から金額の合計を抽出したいのですが、どんな関数を使っていいのか分かりません。 =SUMPRODUCT((条件1)*(条件2)*....(集計する数値)) =SUMPRODUCT((入力!$C$3:$C$9810=Sheet1!$B3)*(入力!$G$3:$G$9810=Sheet1!C$1)*(入力!$K$3:$K$9810)) というものを使っていたのですが、別シートのデータが入力されていない所まで範囲を指定するとエラーになってしまいます。 =sumifだとエラーにならないのですが、私の技術では1つの条件(現場名だけ)しか抽出、合計できません。 入力されていない所を範囲指定してもエラーにならなくて上の事が出来る関数はないでしょうか、よろしくおねがいします。

  • 複数条件の番号付けについて

    「メーカー」「商品」「販売可否」のある行に対し、以下の条件付きで番号を1から振りたいと考えています。 条件1: メーカー及び商品が重複した行があれば、既に振られた番号にする 条件2: 販売可否が空白の場合は無視する 条件3: 同じメーカーが連続するように番号を振る 条件4: 元の表は並び替えなどの加工は出来ない 一応、添付画像のような形で実現は出来ています。 以下のような式を使っています。 (1)G4:G21 =IF(COUNTIF(C$3:C3,C4)=0,MAX(G$3:G3)+1,VLOOKUP(C4,C$3:G3,5,FALSE)) (2)I4:I21 =IF(COUNTIF(D$3:D3,D4)=0,MAX(I$3:I3)+1,VLOOKUP(D4,D$3:I3,6,FALSE)) (3)K4:K21 =IF(E4<>"",G4*1000+I4,"") (4)M4:M21 =INT(IF($K4<>"",SUMPRODUCT(($K$4:$K$21<>"")*($K$4:$K$21<=$K4)/COUNTIF($K$4:$K$21,$K$4:$K$21)),0)) (4)で算出される値を得るために、(1)(2)(3)の行を使っています。 ちなみにこの(4)の値を使って、B24:D37の表を作っています。 ※画像では省略していますが、メーカー・商品ごとの台数・金額合計の表になります。 この表で使っている式は以下の通りとなります。 (5)B26:B37 =IF(MAX(B$25:B25)+1>MAX($M4:$M21),"",B25+1) (6)C25:C37 =IFERROR(INDEX($C$4:$E$21,MATCH($B25,$M$4:$M$21,0),1),"") (7)D25:D37 =IFERROR(INDEX($C$4:$E$21,MATCH($B25,$M$4:$M$21,0),2),"") 質問としては、(4)を求める為に4列使っているものを減らせられないか、理想は1列ですがせめて2列に纏められないかと思っております。 何卒、宜しくお願い致します。

  • エクセル 複数シートの値のみコピーで

    こんにちは いつもお世話になっています。 先日、選択した複数のシートを新しいブックに値だけコピーするマクロをこちらで教えていただきました。(関数が入ったシートなのでタブの右クリックからの新規ブックへのコピーでは関数がコピーされてしまうので) 今回、このマクロで失敗するシートがあったので原因を教えてください。 値だけコピーするマクロは以下です。 Sub 値コピー() Dim WS As Worksheet ActiveWindow.SelectedSheets.Copy For Each WS In ActiveWorkbook.Worksheets With WS.Cells .Copy .PasteSpecial Paste:=xlPasteValues End With Next Application.CutCopyMode = False End Sub 失敗するシートにはつぎの関数があります。 A1セルに=REPLACE(CELL("filename",A1),1,FIND(".xlsx]",CELL("filename",A1))+LEN(".xlsx]")-1,) B3セルに=IF(COUNTIF(Sheet2!$1:$1,$A$1),IF(ROWS($3:3)>COUNTIF(OFFSET(Sheet1!$J:$J,,MATCH($A$1&"クラス",Sheet1!$J$1:$N$1,0)-1),B$2),"",COUNTIFS(OFFSET(Sheet1!$C:$C,,MATCH($A$1,Sheet1!$C$1:$G$1,0)-1),">"&INDEX(Sheet1!$C:$G,MATCH(B$2&"☆"&ROWS($3:3),OFFSET(Sheet2!$A:$A,,MATCH($A$1,Sheet2!$A$1:$E$1,0)-1),0),MATCH($A$1,Sheet1!$C$1:$G$1,0)),OFFSET(Sheet1!$J:$J,,MATCH($A$1&"クラス",Sheet1!$J$1:$N$1,0)-1),B$2)+1&"位 "&INDEX(Sheet1!$B:$B,MATCH(B$2&"☆"&ROWS($3:3),OFFSET(Sheet2!$A:$A,,MATCH($A$1,Sheet2!$A$1:$E$1,0)-1),0))&" "&INDEX(Sheet1!$C:$G,MATCH(B$2&"☆"&ROWS($3:3),OFFSET(Sheet2!$A:$A,,MATCH($A$1,Sheet2!$A$1:$E$1,0)-1),0),MATCH($A$1,Sheet1!$C$1:$G$1,0))&"点"),"") 別シートのデータから条件に合うものを引き出す関数です。 これらの関数もおしえていただいたもので、まだ理解できていませんので、説明不十分で申し訳ありません。 これらの関数があるシートではなぜ上記のマクロが失敗するのでしょうか。 もちろん、シートのデータを選択、コピーして新規ブックに値のみコピーはできます。 上記のような関数があるシートでも複数選択シートでの値のみコピーができるマクロを教えていただけないでしょうか。 情報不足がありましたら、教えてください。 よろしくお願いします。 エクセル2007

  • Excelの式の誤りを教えてください。

    Excel2003を使用しています。 A4からL204までデータがあります。(ところどころに空白の行があります) C 列は文字列で、"B"の文字が表示されている行であれば、同じ行の I列とJ列の数値を足し算して、その計にL列の数値を掛け算して、その4行目から204行目までの"B"行の I列とJ列を足し算して、その計にL列の数値を掛け算した合計を、"B"の文字が表示されている行のI列とJ列を足し算した合計の数値で割り算した数値をL1のセルに表示する数 式を教えてください。 下の式は自分で考えたのですが、だめです。 L1=SUMPRODUCT((C4:C204="B")*1,(I4:I204+J4:J204)*L4:L204)/SUMIF(C4:C204,"B",I4:I204)+SUMIF(C4:C204,"B",J4:J204) 宜しくお願いいたします。

  • エクセル、毎回2づつ増えいくデーターの式?

    よろしくお願いいたします。エクセルで別表からA2、B2に ともに145行までデーターが入っていて、C1に各当するものをA列から引っ張ってくる式が下の数式です。 【=IF(ROWS($2:2)>COUNTIF($A:$A,$C$1),"",INDEX($B:$B,SUMPRODUCT(ROW($A$2:$A$145)*($A$2:$A$145=$C$1)*(COUNTIF(OFFSET($A$2,,,ROW($A$2:$A$145)-ROW($A$2)+1),$C$1)=ROWS($2:2))))) 】 行数が一定で、中だけ数値が変化する分にはいいんですが、毎回2行分データーが増えていきますので、毎回A145の式を147に変えて、手数がかかって、なんかいい式がないもんかとのお伺いなんです。 よろしくお願いいたします。

  • エクセル2007のcountifs,sumifsについて

    以前は複数条件を設定する場合にはsumproductを使っていましたが 使い慣れたcountif,sumifに複数の条件が設定できると知り、 計算式を作ってみましたがうまくいきません。 期間内の数値の入力されているセルの個数を求めたくて 次のような式にしてみました。 D1は2009/10/1 D2は2009/11/1 p6:p331は金額 B6:B331は日付 =COUNTIFS(P6:P331,">=1",B6:B331,"and(>=D1,<=D2") 実際には30程該当するセルがあるのに0と表示されます。日付の 部分がおかしいのだとは思いますがどのように入力したらいいのでしょうか。 それと、金額の入力してあるセルを指定するのに >=1としていますが これも他に数値を表す関数とかありますでしょうか。 同じようにSUMIFSも0になってしまいます。

専門家に質問してみよう