• ベストアンサー

#N/Aを表示させない、計算させない???(Excel)

現在、下記のような関数にて、行と列から検索した結果を表示させている表があります。 =INDEX($K$11:$T$19, MATCH(A11,$K$11:$K$19,), MATCH(C11,$K$11:$T$11,)) それで、検索値がない部分になると"#N/A"になってしまい、その行の合計が求められなくなってしまいます。これをどうにかしたいのですが・・・その都度コピーしていけば良いのですが、出来るだけ避けたく、前もって数式だけは入れておきたいのですが、何か良い方法がありましたらよろしくお願い致します。 環境:Windows2000Pro、Excel2000です。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 =IF(ISERROR(INDEX($K$11:$T$19, MATCH(A11,$K$11:$K$19,), MATCH(C11,$K$11:$T$11,))), "", INDEX($K$11:$T$19, MATCH(A11,$K$11:$K$19,), MATCH(C11,$K$11:$T$11,))) ISERROR関数は、エラー値ならTRUEを返す関数なので、それでIFで条件分岐してやればいいと思います。 エラー値が必ず"#N/A"なら、ISNAという関数でもいいですが。 では。

rurucom
質問者

お礼

maruru01さん!ありがとうございます。お返事が遅くなりましてすみません。 >ISERROR関数は、エラー値ならTRUEを返す関数なので、それでIFで条件分岐してやればいいと思います。 >エラー値が必ず"#N/A"なら、ISNAという関数でもいいですが。 大変勉強になりました。ありがとうございました。

その他の回答 (1)

  • comv
  • ベストアンサー率52% (322/612)
回答No.2

こんにちは! >#N/Aを表示させない =IF(ISNA(MATCH(A11,$K$11:$K$19,)+MATCH(C11,$K$11:$T$11,0)),"",INDEX($K$11:$T$19,MATCH(A11,$K$11:$K$19,0),MATCH(C11,$K$11:$T$11,0))) #N/Aがあっても合計する式 =SUMIF(範囲,"<>#N/A")

rurucom
質問者

お礼

=IF(ISERROR(MMULT(D11,E11)),"",MMULT(D11,E11))で出来ました。 ありがとうございました。

rurucom
質問者

補足

comvさん!ありがとうございます。お返事が遅くなりましてすみません。 うまくできたのですが、もう一つお願いします。 =IF(ISERROR(INDEX($K$11:$T$19, MATCH(A11,$K$11:$K$19,), MATCH(C11,$K$11:$T$11,))), "", INDEX($K$11:$T$19, MATCH(A11,$K$11:$K$19,), MATCH(C11,$K$11:$T$11,))) の関数のあるセル × 任意のセル = #VALUE!(エラー)になってしまいます。 ( 任意のセルの値を入力するとOKです ) これを回避するにはどうしたらよいでしょうか? #VALUE!の出るセルの列の最後はSAMです。今のところ 最後のSAMは、 >#N/Aがあっても合計する式 >=SUMIF(範囲,"<>#N/A") で回避していますが、出来たら表示させたくないのですがよろしくお願い致します。

関連するQ&A

  • EXCEL関数について。

    EXCEL関数について。 下記関数にて、値の取得を行うようにしましたが、 この関数使用時のエラー(#N/A)が 出ないようにする為の数式を教えていただけませでしょうか? 【現在の数式】 =INDEX('01'!$T$8:$W$14,MATCH($C$12,'01'!$S$8:$S$14,0),MATCH($G12,'01'!$T$7:$W$7,0)) この数式の内、最初のMATCH関数  MATCH($C$12,'01'!$S$8:$S$14,0) の中の S8~S14までのセルの間に参照値 C12 の値がない場合に、エラーが出ないように したいのですが、その数式を教えていただけないでしょうか?

  • #N/Aを含むセルデータを正しく計算できない

    sum関数により飛び飛びのセルの数字をカウントしています。    行    10   1    11   3    12   5    13   2    14   0    15   #N/A    16   #N/A 合計=+10+11+12+13+14+!5+16  これだとErr  合計=+10+11+12+13+14     正しく計算される ◎14行目までの合計であれば正しくでます。    ●15行目を含むとエラーになります。      いい方法はありませんか?      #N/A ではVlookupを使用し、データの範囲外の状態です。      計算側で解決したのですが、わかりません

  • EXCEL2000でPRODUCT関数を使うと#N/Aエラーが出る

    EXCEL2000でPRODUCT関数を使うと#N/Aエラーが出る PRODUCT関数を使って計算させていて、計算セル範囲内に1つだけ数値を引用したセルがあるのですが計算結果が#N/Aになりますどうすればエラーがなくなる様にできるでしょうか、わかる方宜しくお願いします。 (現在の数式例)E1 「=PRODUCT(A1:D1)」 A B C   D       E 1 2.0 3.0 4.0  =INDEX・・・  #N/A

  • SUM関数の範囲に#N/Aがあっても合計してくれる計算式

    A列に氏名、B列に金額(計算式が入っている)があります。 B列の最終行に合計金額を出したいのですが、 B列に、#N/Aとなるセルがあり、 SUM関数を使うと結果がエラーになります。 なんとかエラー値のセルは無視して合計金額を出す計算式は ないでしょうか。 よろしく御指導下さい。

  • エクセルで♯N/A N/Aを無視して計算する方法

    エクセル初心者です。 エクセルで♯N/A N/Aを無視して計算する関数を教えてください。 例えば   A  B    C   D 1 100 200 #N/A N/A #N/A N/A 2 -6999 -11782 -16787 356 3 -6899 -11582 #VALUE! #VALUE! というデータがあります。 A3に「=A1+A2」という関数式を横にオートフィルさせます。上記2つを合計した数字を出したいのですがCとD列で「♯VALUE!」とでます。 「SUM」以外の関数でC3に「-16787」、D3に「356」と出したいのですが、どのような関数があるでしょうか? 教えてください、お願いします。

  • EXCELで#N/Aが表示される

    L1~L10に文字 M1~M10に文字 N1~N10に日付け が、入ってます。 K1~K10は空白ですがここに1~10の数字をランダムに入れます。 そのとき、Kに1の入った行(L,M,N,)の内容をA5,B5,C5に、 Kに2の入った入った行(L,M,N,)の内容をA6.B6,C6にと Kに10が入ったところまでを順次行いたいのですが できるでしょうか? の問い合わせに対して K列に数値の重複が無いとして。 A5に =INDEX(L$1:L$10,MATCH(ROW(A1),$K$1:$K$10,0)) 必要なだけ右方向、下方向にフィルコピー の回答をいただきました。 試してみて、やりたいことが十分できるのですが、Kセルに何も入っていないと Aセルに「#N/A」が表示されます。 Kセルに何も入ってないときは空白にしたいのですが、どうすればいいのでしょうか? よろしくお願いいたします。

  • #N/Aの表示、非表示について

    excel2010 あるwebサイトにvlookup関数の高速化という内容が掲示されていたので、 それを使用してみました。 そこで、ちょっとおかしな状況になっているので、 それに関する質問です。 構成 SHEET5に下記の様なデータがあります。 A列にALLコード、B列にデータです ALLコード          データ 0109S10100100B60   722 0110H10100110B32   18 0110S10100020B62   0 0110S10100040B62   77 0110S10100050B62   19 0110S10100070B62   35 0110S10100090B62   16 0110S10100100B60   200 0111H10100110B32   41 0111S10100030B62   68 0111S10100040B62   70 0111S10100050B62   32 0111S10100070B62   60 0111S10100080B62   17 0111S10100090B62   25 0111S10100100B60   100 0112H10100110B32   14 0112H20100020B41   11 0112H20100030B42   89 0112H20100040B43   23 0112H20100050B42   27 0112H20100070B44   5 0112H20100080B40   17 0112S10100010B62   11 0112S10100020B62   12 0112S10100030B62   69 上記ALLコードの先頭4桁はシリアル番号になっており、 実際のコードは、それ以降の12桁なので、異なるシートにVLOOKUP関数で下記の様に マトリクス表にしました。 A列:コード B列:0109 C列:0110 D列:0111 でB2セルに =IF(INDEX(Sheet5!$A$2:$A$1000004,MATCH(CONCATENATE(B$1,$A2),Sheet5!$A$2:$A$1000004,1),1)=CONCATENATE(B$1,$A2),VLOOKUP(CONCATENATE(B$1,$A2),Sheet5!$A$2:$B$1000004,2,TRUE),NA()) という式を入れて、対象範囲B2:D15までコピーしています。 コード          0109   0110   0111 S10100081B62   #N/A   #N/A   #N/A S10100091B62   #N/A   #N/A   #N/A S10100110B69   #N/A   #N/A   #N/A S10100100B60   722   200    100 S10100120B60   #N/A   #N/A   #N/A S10100010B62   #N/A   #N/A   #N/A S10100020B62   #N/A   0     #N/A S10100030B62   #N/A   #N/A    68 S10100040B62   #N/A   77     70 S10100050B62   #N/A   19     32 S10100060B62   #N/A   #N/A   #N/A S10100070B62   #N/A   35     60 S10100080B62   #N/A   #N/A    17 S10100090B62   #N/A   16     25 N/Aがあると見づらいので、 式のNA()を削除し、 B2セル =IF(INDEX(Sheet5!$A$2:$A$1000004,MATCH(CONCATENATE(B$1,$A2),Sheet5!$A$2:$A$1000004,1),1)=CONCATENATE(B$1,$A2),VLOOKUP(CONCATENATE(B$1,$A2),Sheet5!$A$2:$B$1000004,2,TRUE),) で対象範囲コピーしたところ、下記の様な結果になりました。 コード          0109   0110   0111 S10100081B62   #N/A     0      0 S10100091B62   #N/A     0      0 S10100110B69   0       0      0 S10100100B60   722     200     100 S10100120B60   0       0       0 S10100010B62   #N/A     0      0 S10100020B62   #N/A     0      0 S10100030B62   #N/A     0      68 S10100040B62   #N/A     77      70 S10100050B62   #N/A     19      32 S10100060B62   #N/A     0       0 S10100070B62   #N/A     35      60 S10100080B62   #N/A     0       17 S10100090B62   #N/A     16      25 0110と0111は正しく表示しているのですが、0109列は#N/Aが残っています。 コピーペーストを間違ったわけではありませんが、 何故0109だけ#N/A表示が残っているのか、想定される原因を教えていただきたく。 ちなみにALLコード先頭に 0108S10100100B60 888 を追加して1列増やすと、 コード       0108   0109   0110   0111 S10100081B62   #N/A   0     0     0 S10100091B62   #N/A   0     0     0 S10100110B69   0     0     0      0 S10100100B60   888    722    200   100 S10100120B60   0     0     0      0 S10100010B62   #N/A   0     0     0 S10100020B62   #N/A   0     0     0 S10100030B62   #N/A   0     0     68 S10100040B62   #N/A   0     77     70 S10100050B62   #N/A   0     19     32 S10100060B62   #N/A   0     0      0 S10100070B62   #N/A   0     35     60 S10100080B62   #N/A   0     0     17 S10100090B62   #N/A   0     16     25 の様になり、0109の#N/A表示は解消されました。 EXCELの仕様なのでしょうか? とりあえず、ダミー列のデータ挿入で非表示にすれば、 見た目上は、すっきりですが、何か異なる方法があれば教えていただきたく。 ※実際は、もっと行・列共に数が多いのですが、抜粋で例をあげています。

  • 【Excel】直前のある特定の文字を拾って計算したい

    Excel2003を使用しています。   E列→摘要欄 H列→借方金額 I列→貸方金額 K列→差引残高  1行  あ                   100  2行  い      100  3行  う       500  4行  5行 月 計     600           100        500  6行  7行  8行  か                    300  9行  き       400 10行   く       500 11行 12行 月 計     900            300        1100 13行 累 計    1500            400       :       : というふうに金額が入力されているとき、K列の差引残高に E列に“月 計”と入力されたら、 [直前の月 計の差引残高セル]+[借方金額]-[貸方金額]という 数式を入れたいのですが、どんな関数を使えばできますか? 上記の例でいくと、 K12セルに[=K5+H12-I12]の計算結果が表示されるように したいのですが。。。 関数でもマクロでも構いません。マクロでしたら、初心者ですので 参考までに一例を示していただけると嬉しいです。 よろしくお願いします。

  • EXCEL2000で関数INDEXとMATCHを使った際の表示について

    EXCEL2000で関数INDEXとMATCHを使った際の表示について お聞きしたいのですが、別シートでリストが有りそのリスト内のリストNoを別シートで入力すると項目が自動表示される様に関数を入力したのですが、リストでは1行に2段表示にして作成しているのですが別シートに自動表示した際1行で表示されます。リストと同じ表示するにはどうすればよいのでしょうか、わかる方宜しくお願いします。 ちなみにわかりずらいかもしれませんが現在下記の様に表示されます。 現在の関数式 =INDEX(**リスト!$B$4:$B$50,MATCH(**データ!D2,**リスト!$A$4:$A$50,0)) 表示例 (リスト側)        (データ側)     A(列)           A(列)  1(行) あああ    1(行) あああいいいいい   いいいいいい 

  • エクセル #N/Aを印刷時に表示したくない

    INDEXとMATCHを使った関数の表があるのですが、 #N/Aの表示がでてしまいます。 このエラー表示が出るのは仕方ないのですが、 印刷する時に空白にしたいのです。 その時によって表の中のエラー表示の行数は違います。 関数以外で何か方法があれば教えていただけないでしょうか。

専門家に質問してみよう