関数が入っているセルの合計を行う方法を教えてください

Anonymous
2022-10-28T10:54:01+00:00

以下の関数がセルに入っています

=IFERROR(HLOOKUP($E12,'5'!$C$4:$AN$87,84,FALSE),"")&IFERROR(VLOOKUP($E12,'4'!$F$116:$G$116,2,FALSE),"")&IFERROR(VLOOKUP($E12,'5'!$F$117:$G$123,2,FALSE),"")

右側「0」の箇所にセルの数字の合計(行の合計)を出したいのですが、SUMIF関数は「0」のまま

です。

セルの関数の変更やSUMIFの使い方等ご教示頂けたらと思います。

Microsoft 365 と Office | Excel | その他 | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

10 件の回答

並べ替え方法: 最も役に立つ
  1. ひまじん 17,185 評価のポイント
    2022-11-01T02:47:05+00:00

    詳しい情報の返信ありがとうございます。

    ただ、書き方が悪かったようで申し訳ないのですが、もっと基本的な情報が知りたかっただけなのです・・・。

    • 質問文に書かれている図から読み取れるのは、どこかのセルに入っていると思われる 2つの数字のみです。
    • 質問文そのものから読み取れるのは、下記の 2点です。
      1、どこかのセルに下記の数式が書かれている。 =IFERROR(HLOOKUP($E12,'5'!$C$4:$AN$87,84,FALSE),"")&IFERROR(VLOOKUP($E12,'4'!$F$116:$G$116,2,FALSE),"")&IFERROR(VLOOKUP($E12,'5'!$F$117:$G$123,2,FALSE),"")
      2、どこかのセルに「 0 」が表示されていて、そのセル位置(セルアドレス)にはそのセルと同一行の数字の合計を求めたいが、SUMIF 関数では求めることが出来なかった。

    これら質問文に書かれている図と質問文そのものからは必要な情報(セルアドレス)が抜け落ちてしまっています。

    なので、

    ・どのシートのどのセル範囲に提示されておられる数式(類似した数式)を入れているのか、実際の表の配置(行や列のアドレス)が分かる形で提示してください。(個人情報などに関わる部分があれば隠すなどの対策をしてください。)

    と前回書きました。

    図で書いていただいても文章で書いていただいても良かったので、どのシートのどのセル範囲に提示されておられる数式(類似した数式)を入れているのか、「実際の表の配置(行や列のアドレス)が分かる形で」と書いたのが却って紛らわしかったかもしれませんね。

    失礼いたしました。

    また、

    ・SUMIF 関数をどのシートのどのセルに入れているのか、といった情報も必要です。

    とも前回書きました。

    改めて書きますが、教えていただきたいのは、提示されている数式(上記1、の数式)がどこに書かれているかというセル位置(セルアドレス)の情報と、「 0 」と表示されているセル( SUMIF 関数の書かれているセル)のセル位置(セルアドレス)の情報です。

    (セルアドレス: A1、D3、G7、・・といった表記でお願いします。念のため。)

    こういったセルアドレスが分かれば先に進めますので、次に必要な情報は、上記1、の数式で実際にどのような値を求めたかったかという情報です。

    この値がもし文字列になってしまっているとしたら、最終的に SUM 系の関数を使って合計を求めようとしても文字列は対象外となります。

    例えば、同じ数字でも数値の 1 と文字列の 1 では扱いが異なるということになります。

    「セルの書式設定」で「配置」の「横位置」を「標準」にしていれば、数値は右詰め、文字列は左詰め、になるので分かるのですが、「横位置」を「中央揃え」にされていると見た目では分からなくなってしまいます。

    なので、

    ・提示されておられる数式で、本来は何を求めたかったのでしょう?。

    と前回書きました。

    これについては、時間(数値)を求めたいということは分かりましたが、

    >3つのブロックのどれかに数字が記載された際に数字が

    >飛ぶようにしたく、3つのブロックに同時に数字が入力

    >されることがないため合計は求めないものです。

    と書かれている意味合いが良く分かりませんでした。

    これを素直に解釈すると、

    「 3つの数式の中で、いずれか一つの数式が時間(数値)を返す場合に限り(複数の数式で時間(数値)を返すことは有り得ない)、その時間のみを抽出し、上記1、の数式が書かれているセルに表示させたい。」

    と解釈できるのですが、これで間違いないでしょうか?。

    (数式1、が今のところご希望の値を表示できないとしても、その数式1、が書かれているセル位置(セルアドレス)にそういった値を表示させたいということで間違いないでしょうか、ということです。)

    こういった点がはっきりすれば、次の疑問点は、どういった数式を使って最終的な結果を求めようとしているか、という情報です。

    質問文に書かれているこの部分の文章は、

    >右側「0」の箇所にセルの数字の合計(行の合計)を出したいのですが、SUMIF関数は「0」のままです。

    ということだけです。

    それまでに書いてあることと併せて素直にこの文章を読むと、「SUMIF 関数の書かれているセルと同一行の左側のセル範囲に、提示されている上記 1、の数式が入っている」と解釈できます。

    ただ、そうだとすると、上記1、の数式とそれに類似した数式が左側の複数のセル範囲に入っていなければ SUMIF 関数で合計を求める意味がありません。

    こういった疑問点をはっきりさせるために、

    ・SUMIF 関数はどのように書いているのでしょう?。

    と前回書きました。

    例として書いたように、SUMIF(A1:E1,">0") といった具体的な数式を書いていただければ良かったのですが、

    >上記記載の式を入力しました。

    と書かれています。

    これが更に疑問点となりました。

    実際の SUMIF 関数について、関数そのものを具体的にどのように書いているか、提示していただけないでしょうか?。

    ※長々と書いてしまいましたが、改めて教えていただきたいのは下線を引いた箇所です。

    返信で教えていただいた情報は、この先で必要になってくる情報なので、必要な情報であることには間違いないのですが・・。

    ここで書いている疑問点が解消されれば、最終的な結果がなぜご希望通りの値にならないのかが見えてくるはずなので、具体的な数式などのご紹介も出来るかと思っています。

    考え方だけではなく、具体的な数式をご紹介して、ご自身でそれを更に工夫して良いものにしていく足掛かりにでもしていただけたらという思いで書いています。

    余計なお世話でしたら、お許しください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2022-11-01T00:12:13+00:00

    シャキル様

    お返事が遅くなり申し訳ありません。

    暖かいお返事をありがとうございました。

    頂きました内容を試しましたがうまくいきませんでした。

    内容が不十分な事もあり追記させて頂きました。

    今後ともご助言等のお力添え頂きますと幸いです。

    よろしくお願い致します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2022-10-31T09:34:18+00:00

    ひまじん様

    上記ご質問に対してご助言頂有難うございました。

    また質問内容につきまして不十分な内容によりご迷惑を

    お掛けしております。

    「最低限」必要な内容として記載させて頂きたいと思います。

    お時間を頂戴し申し訳ございません。

    • どのシートのどのセル範囲に提示されておられる数式(類似した数式)を入れているのか、実際の表の配置(行や列のアドレス)が分かる形で提示してください。(個人情報などに関わる部分があれば隠すなどの対策をしてください。)

      →下記に表とともに記載致しました。

       (不十分な内容であれば申し訳ございません)

    • 提示されておられる数式で、本来は何を求めたかったのでしょう?。 →時間を求めたいと思い作成しました
    • 求めたかったのは、3つのブロックの合計数値でしょうか?、それ以外の何らかの値でしょうか?。 →3つのブロックのどれかに数字が記載された際に数字が  飛ぶようにしたく、3つのブロックに同時に数字が入力  されることがないため合計は求めないものです。  加えまして、3つのブロックがすべて「空白」の場合  もございます。  空白の場合は、以下のSUMIFで合計を求めた際に、 「0」またはカウントしない形となる事を求めております。
    • SUMIF 関数はどのように書いているのでしょう?。
      例えば、SUMIF(A1:E1,">0") というように、出来れば実際の数式を提示してください。 →上記記載の式を入力しました。(私なりに調べ、「SUM」  や「COUNTIF」も試しましたが出来ませんでした。
    • SUMIF 関数をどのシートのどのセルに入れているのか、といった情報も必要です。 →SUMIFの関数はご質問をさせて頂いた際にUPしました  表の「0」に入っており、横列ごとの合計を算出  したいと考えています。 IFERROR(HLOOKUP($E12,'5'!$C$4:$AN$87,84,FALSE),""

    →上記( $E12・・)には名前が入っています

    IFERROR(VLOOKUP($E12,'4'!$F$116:$G$116,2,FALSE),"")

    上記( $E12・・)には名前が入っています

    →上記($F$116)には名前、($G$116)には数字が入っています

    IFERROR(VLOOKUP($E12,'5'!$F$117:$G$123,2,FALSE),"")

    →→上記( $E12・・)には名前が入っています

    →上記($F$117~$F$123)には名前

    ($G$116~$G$123)には数字が入っています

    Excelにて関数を使い始め間もなく勉強不足により

    質問内容及び返答内容に不手際がございます。

    ご迷惑をお掛けしますが何卒ご指導をお願い致します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. ひまじん 17,185 評価のポイント
    2022-10-28T15:52:47+00:00

    こんにちは。

    SUMIF 関数を使って合計を求めたいということかと思いますが、その場合、合計対象のセル範囲の中で文字列が入っているセルは除外して計算される、ということにご注意ください。

    提示されておられる数式(類似した数式)が合計対象の全てのセルに入っていて、SUMIF 関数の結果が 0 になるということは、提示されておられる数式の結果が文字列となってしまっていることが原因と思われます。

    提示されておられる数式では、下記の 3つのブロックを &(文字列連結演算子)で連結されていますが・・、

    IFERROR(HLOOKUP($E12,'5'!$C$4:$AN$87,84,FALSE),"")

    IFERROR(VLOOKUP($E12,'4'!$F$116:$G$116,2,FALSE),"")

    IFERROR(VLOOKUP($E12,'5'!$F$117:$G$123,2,FALSE),"")

    この連結によって、各ブロックの結果がどの様な数値であろうと、数式全体の結果として数値ではなく文字列が返されることになります。

    例えば、

    = 数値の 1 & 数値の 2 & 数値の 3

    は文字列の 123 が結果として返されます。

    なので、下記のような数式をどこかのセルに入れていたとして、A1:E1 のセル範囲の全てに提示されておられる数式(類似した数式)が入っていたとすると、検索条件は正しいとしても、合計結果は 0 にしかなりません。

    =SUMIF(A1:E1,">0")

    例えばですが、上記の 3つのブロックの結果を加算した数式にしたいのであれば、

    =SUM(IFERROR(HLOOKUP($E12,'5'!$C$4:$AN$87,84,FALSE),""),IFERROR(VLOOKUP($E12,'4'!$F$116:$G$116,2,FALSE),""),IFERROR(VLOOKUP($E12,'5'!$F$117:$G$123,2,FALSE),""))

    というような数式にすれば、全てのブロックで "" を返さない限り、結果は数値となり SUMIF 関数の結果も合計数値が表示されるはずです。

    ※この数式がご希望通りの値を返すかどうか、効率的かどうかは別問題ですので、ご注意ください。

    情報が限られているため、提示されておられる数式から考えられるのはここまでです。

    ご参考になれば幸いです。

    尚、もっと具体的な対応策を得たい場合には、以下のような追加情報が最低限必要です。

    • どのシートのどのセル範囲に提示されておられる数式(類似した数式)を入れているのか、実際の表の配置(行や列のアドレス)が分かる形で提示してください。(個人情報などに関わる部分があれば隠すなどの対策をしてください。)
    • 提示されておられる数式で、本来は何を求めたかったのでしょう?。
      求めたかったのは、3つのブロックの合計数値でしょうか?、それ以外の何らかの値でしょうか?。
    • SUMIF 関数はどのように書いているのでしょう?。
      例えば、SUMIF(A1:E1,">0") というように、出来れば実際の数式を提示してください。
    • SUMIF 関数をどのシートのどのセルに入れているのか、といった情報も必要です。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2022-10-28T15:15:40+00:00

    こんにちはヒロスコ!

    マイクロソフトアンサーコミュニティフォーラムに手紙を書いていただきありがとうございます。 私はあなたのようなアドバイザーでありユーザーであるShakiruであり、今日あなたを助けることができてうれしいです。

    細胞の機能変更方法やSUMIFの使い方を知りたいのは理解できます。

    まず、SUMIF 関数を使用して、指定した条件を満たす範囲内の値を合計します。たとえば、数値を含む列で、5 より大きい値のみを合計するとします。次の式を使用できます: =SUMIF(B2:B25,">5")。 詳細については、ExcelでのSUMIFの使用に関する情報へのリンクを次に示します。 https://support.microsoft.com/en-us/office/sumif-function-169b8c99-c05c-4483-a712-1697a653039b

    次に、セル関数について:CELL関数は、セルの書式設定、場所、または内容に関する情報を返します。

    セルの機能を変更するには: -数式バーでセル>を選択し、記号(=)に等しいで始まる数式を入力します。 たとえば、計算を実行する前に、セルにテキストではなく数値が含まれていることを確認する場合は、次の数式を使用できます。 =IF(CELL("type",A1)="v",A1*2,0) この数式は、セル A1 に数値が含まれている場合にのみ A1*2 を計算し、A1 に文字列が含まれている場合や空白の場合は 0 を返します。

    セル機能の詳細については、次のリンクもあります。 https://support.microsoft.com/en-us/office/cell-function-51bd39a5-f338-4dbe-a33f-955d67c2b2cf

    敬具 シャキル

    この回答は自動翻訳されています。文法や表現の誤りが発生した場合はご容赦ください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません