『数式2つを足して表示させたい』(1137) =IFERROR(IF(VLOOKUP("[製]消耗品費",'[前期分データ.xlsx]製・全社(合計)'!$A$1:$T$300,MATCH(E48,'[前期分データ.xlsx]製・全社(合計)'!$A$8:$P$8,0),FALSE)=0,"",VLOOKUP("[製]消耗品費",'[前期分データ.xlsx]製・全社(合計)'!$A$1:$T$300,MATCH(E48,'[前期分データ.xlsx]製・全社(合計)'!$A$8:$P$8,0),FALSE))+IF(VLOOKUP("[製]PC購入費",'[前期分データ.xlsx]製・全社(合計)'!$A$1:$T$300,MATCH(E48,'Y:\32 会計\40 月次決算報告(役員会\会計部門報告\月次決算書データ\前期分データ\[前期分データ.xlsx]製・全社(合計)'!$A$8:$P$8,0),FALSE)=0,0,VLOOKUP("[製]PC購入費",'[前期分データ.xlsx]製・全社(合計)'!$A$1:$T$300,MATCH(E48,'[前期分データ.xlsx]製・全社(合計)'!$A$8:$P$8,0),FALSE)),"") A8〜P8には 4月度 5月度 6月度・・・というように12ヶ月分入っています。 A1〜T300は数字が入っており、その中で[製]消耗品費と[製]PC購入費を抜き出すように数式を作りました。 ですが、[製]消耗品費がゼロだったとき、空欄にしている為か、[製]PC購入費に数字が入っていても空欄になってしまいます。 両方ゼロだった時は空欄にしながら、両方を足して表すことができるにはどうしたらいいでしょうか。 < 使用 Excel:Excel2013、使用 OS:unknown > ---- >両方ゼロだった時は空欄にしながら、両方を足して表すことができるにはどうしたらいいでしょうか。 詳しい事はわかりませんが。基本はA1,B1に入力で。 =IF(AND(A1=0,B1=0),"",A1+B1) で ^^; <<_ _>> (隠居じーさん) 2018/03/14(水) 09:55 ---- 多分、必要な式は↓この二つだと思いますので =VLOOKUP("[製]消耗品費",$A$1:$T$300,MATCH(E48,$A$8:$P$8,0),FALSE) =VLOOKUP("[製]PC購入費",$A$1:$T$300,MATCH(E48,$A$8:$P$8,0),FALSE) 隠居じーさんさんの =IF(AND(A1=0,B1=0),"",A1+B1) にあてはめますと =IF(AND(VLOOKUP("[製]消耗品費",$A$1:$T$300,MATCH(E48,$A$8:$P$8,0),FALSE)=0,VLOOKUP("[製]PC購入費",$A$1:$T$300,MATCH(E48,$A$8:$P$8,0),FALSE)=0),"", VLOOKUP("[製]消耗品費",$A$1:$T$300,MATCH(E48,$A$8:$P$8,0),FALSE)+VLOOKUP("[製]PC購入費",$A$1:$T$300,MATCH(E48,$A$8:$P$8,0),FALSE)) ということではないかと思います。 式は、なるべく単体で検証して見直しされるとわかりやすいかと思います。 v(=∩_∩=)v (SoulMan) 2018/03/14(水) 10:18 ---- 後、範囲は出来ることなら名前などを利用されると可読性があがるかもしれませんね (SoulMan) 2018/03/14(水) 10:24 ---- 隠居じーさん 様 ご回答ありがとうございます。 ご教示いただいた通りにやってみましたら、できました。 ありがとうございます。 SoulMan 様 ご回答ありがとうございます。 できました!! 自身でも式が沢山で混乱しておりました。 範囲の部分は言葉で書いてしまうということでよろしいでしょうか? (1137) 2018/03/14(水) 10:32 ---- あともう一点教えていただいた式を利用する上で、 数式をすべて置換したいのですが、VLOOKUPの検索値に言葉を入れている為 一括で置換することができません。 式の途中のみを置換する方法や何か違う方法がありましたらご教示ください。 (1137) 2018/03/14(水) 10:36 ---- 最初の質問に関して確認ですが、「消耗品費」と「PC購入費」がマイナスの金額になることはあるんですか? ないんだったら、「両方ゼロだった時」というのは、足し算の結果が「0」だったら、ということですよね? 数式の「""」ではなく、表示形式で「0」を表示しない、ではダメなんですかね? 表示形式〜ユーザー定義 #,### それでいいんだったら、数式は ↓ な感じでいけませんか?(「0」かどうかの確認をしていない) =IFERROR(VLOOKUP("[製]消耗品費",・・・略・・・)+VLOOKUP("[製]PC購入費",・・・略・・・),0) ところで、IFERRORを使っているということは、「[製]消耗品費」「[製]PC購入費」が表にない場合もあるということ? どちらか一方しかない場合は、計算しなくてもいいんですか? 二つ目の質問ですが、何に置換するんですか? 以上です (笑) 2018/03/14(水) 11:09 ---- (笑)さん ご回答ありがとうございます。 【一つ目の質問】 消耗品費とPC購入費がマイナスになることはありません。 すみません、説明不足でした。PC購入費がゼロで、かつ消耗品費もゼロのとき、ということです。 表示形式でゼロを表示しないというのもやってみて、どちらがいいか試してみます。 IFERRORを使っている理由は見た目が悪くなるかな、という弱い理由でして、 今回のご指摘を受けまして削除することに致しました。 【二つ目の質問】 すでに500か所以上に最初の質問時に載せた数式が入っておりますので、 それをすべて教えて頂いた数式に変更するのは一括置換かと思いました。 しかしながら、他のセルではVLOOUKUPの部分に消耗品費、PC購入費ではなく違う言葉(事務用品費、租税公課・・等)入っておりますので、文字以外のところを指定して一括置換できないかと考えました。 よろしくお願いいたします。 (1137) 2018/03/14(水) 11:16 ---- >PC購入費がゼロで、かつ消耗品費もゼロのとき、ということです。 要するに足し算の結果が「0」のとき、ということですよね? >すでに500か所以上に最初の質問時に載せた数式が入っております どんな表なのか知りませんが、VLOOKUPの検索値を「セル参照」にできないんですか? 数式に直接費目を指定していたら、数式を見ないと何の計算かわからないのでは? 以上です (笑) 2018/03/14(水) 11:43 ---- (笑)様 ご回答ありがとうございます。 > 要するに足し算の結果が「0」のとき、ということですよね? そうですね、両方を足した結果がゼロです。 VLOOKUPの検索値をセル参照というのは、今式が入っているシート(下記、シート1)の標題セルを参照するということでしょうか? 【シート1】には、下記のように数字が入っています。         4月度      5月度      6月度      7月度 【製造経費】  消耗品費 10    10       10      10  事務用品費 10    10       10      10  新聞図書費 10    10       10      10 【シート2】には         4月度      5月度      6月度      7月度  [製]消耗品費 10    10       10      10  [製]事務用品費 10    10       10      10  [製]新聞図書費 10    10       10      10 のようになっており、科目名に【[製]】が入ってしまっています。 またこのシート2は会計ソフトから自動的に出力されるのものなので、科目名を変更することはできません。 シート1に[製]をつければセル参照が使えるのでしょうか? その際、セル参照でシート2の[製]消耗品費と[製]PC購入費を合致した答えをシート1の消耗品費として出せますでしょうか。 長くなり申し訳ありませんがよろしくお願いいたします。 (1137) 2018/03/14(水) 11:56 ---- >シート1に[製]をつければセル参照が使えるのでしょうか?   [製]をつけてもいいし、Sheet1はそのままにして数式でつけてもいいし。 >その際、セル参照でシート2の[製]消耗品費と[製]PC購入費を合致した答えをシート1の消耗品費として出せますでしょうか。   「PC購入費」はSheet2にはあるが、Sheet1にはないということ? ・Sheet1の表には[製]はついていない ・カッコ([])や「PC」は半角 だとして、セル位置がわかりませんけど Sheet1のB2 =VLOOKUP("[製]"&$A2,Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE)+VLOOKUP("[製]PC購入費",Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE) 科目の並びは二つのシートで違うが、月度は同じなら =INDEX(Sheet2!B$2:B$100,MATCH("[製]"&$A2,Sheet2!$A$2:$A$100,0))+INDEX(Sheet2!B$2:B$100,MATCH("[製]PC購入費",Sheet2!$A$2:$A$100,0)) 表示形式〜ユーザー定義 #,### で、右へコピー 後者なら「SUMIF」でもできますが、別ブックを閉じていたらエラーになります。 最初の質問からかなり様相が変わってきているので、何が適切なのかよくわかりません。 以上です (笑) 2018/03/14(水) 13:39 ---- (笑)様 ご回答ありがとうございます。 >「PC購入費」はSheet2にはあるが、Sheet1にはないということ? ご認識の通りです。 シート1の消耗品費は、シート2のPC購入費と消耗品費の合計です。 私の知識不足で申し訳ありませんが、 Sheet1のB2 =VLOOKUP("[製]"&$A2,Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE)+VLOOKUP("[製]PC購入費",Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE) 科目の並びは二つのシートで違うが、月度は同じなら =INDEX(Sheet2!B$2:B$100,MATCH("[製]"&$A2,Sheet2!$A$2:$A$100,0))+INDEX(Sheet2!B$2:B$100,MATCH("[製]PC購入費",Sheet2!$A$2:$A$100,0)) とご教示いただいた式ですと、他の科目で同様の式を利用したい場合、 VLOOKUP("【[製]PC購入費】",Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE)の【】内を 表示したい科目に変更しなければならなくなりませんでしょうか。 先ほど回答しましたシート1の4月度の新聞図書費のセルですと、 =VLOOKUP("[製]"&$A2,Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE)+VLOOKUP("[製]新聞図書費",Sheet2!$A$2:$M$100,MATCH(B$1,Sheet2!$A$1:$M$1,0),FALSE)としなければならないのでしょうか。 そうしますと、検索値がおおよそ500以上バラバラですので、 一括で数式の一部を置換できないか・・という質問になっておりました。 わかりづらく申し訳ありません。 (1137) 2018/03/14(水) 13:52 ---- Sheet1はすべて2つの科目の合計なんですか? だったら両方ともセル参照にできないんですか? A     B     C 1               4月度 2    消耗品費  PC購入費 C2 =INDEX(Sheet2!B:B,MATCH("[製]"&$A2,Sheet2!$A:$A,0))+INDEX(Sheet2!B:B,MATCH("[製]"&$B2,Sheet2!$A:$A,0)) 1つの科目だけの場合もある(B列が空白の場合もある)のなら C2 =INDEX(Sheet2!B:B,MATCH("[製]"&$A2,Sheet2!$A:$A,0))+IF($B2="",0,INDEX(Sheet2!B:B,MATCH("[製]"&$B2,Sheet2!$A:$A,0))) 参考まで (笑) 2018/03/14(水) 14:27 ---- SUMIFが使えたらもっと簡単にできるんですけど 別ブックは閉じた状態なんですよね? 配列数式で =SUM(IF(Sheet2!$A$2:$A$100="[製]"&$A2:$B2,Sheet2!B$2:B$100)) Ctrl+Shift+Enter で確定し、右と下にコピー 参考まで (笑) 2018/03/14(水) 14:41 ---- (笑) 様 ご回答ありがとうございます。 ご連絡が遅くなり申し訳ありません。 シート1は一つだけの科目の時もあれば、2つの科目を足して表示しているときもあります。 説明不足で申し訳ありませんが、横並びではなく縦に並んでおります。 A     B     C    D 1        4月度   5月度  6月度 2   PC購入費 1,000   500    0 3   消耗品費 1,000   2,500  25,000   となっています。 シート2は閉じた状態です。 (1137) 2018/03/15(木) 09:13 ---- >横並びではなく縦に並んでおります。 わかってますよ。 B列に新たに列を挿入して、2科目計の場合は2つめの科目名をB列に入力したらどうですか、ということです。 2科目を合計するのは全部でどのくらいあるんですか? その科目は一つ一つ手入力するしかないんですか? 一つ一つ手入力するしかなく、それだと心が折れそうだということなら、 元の数式を FORMULATEXT 関数で文字列にして、そこから科目名を抜き出す、というのも考えられます。 ところで ↓ は何の説明ですか? Sheet1? > A     B     C    D >1       4月度   5月度  6月度 >2 PC購入費  1,000   500   0 >3 消耗品費  1,000   2,500  25,000 消耗品費とPC購入費は合算するんじゃないんですか? というか、昨日の話だと「PC購入費」はSheet1にはないということでしたが、あるんですか? それと念のための補足ですが、最後に提示した配列数式は「SUMIF」ではないので、 別ブックを閉じていてもエラーにはならないと思いますよ。 ↓ でもいいかも =SUMPRODUCT((Sheet2!$A$2:$A$100="[製]"&$A2:$B2)*Sheet2!B$2:B$100) これは普通にEnterだけで確定 以上です (笑) 2018/03/15(木) 14:12