• ベストアンサー

IFの数式の作り方

いつも御世話になります。 A4のページに納品書と請求書をまとめたシート(納請書)があります。 このシートはとりあえずブックとしては3シート(納請書1~3)を用意してあります。 必要に応じ納請書4~増やします。 この時月締めになると1枚の請求書(月請求書)にまとめます。 月請求書について質問します。 No3 B17 =INDIRECT("納請書"&ROW(A3)&"!$B15") C17 =INDIRECT("納請書"&ROW(A3)&"!H2") D17 =INDIRECT("納請書"&ROW(A3)&"!C41") というように式を入れています。 この時納請書4を追加したときは上の式をB18 C18 D18とオートフィルしています。 この手動を自動化したく空白の時は空白のままにしたいのですが、ご指導いただけませんでしょうか。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばB17に入力する式は次のようにしてB18にオートフィルドラッグすればよいでしょう。 =IF(ISERROR(INDIRECT("納請書"&ROW(A3)&"!$B15"),"",INDIRECT("納請書"&ROW(A3)&"!$B15")) C17,D17に入力の式も同様に変更すればよいでしょう。 件名のNo4に =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!D18")),"",NDIRECT("納請書"&ROW(A4)&"!D18")) を入れました。とありますが、上の式でしたら次のような式にしてはどうでしょう。 件名のNo4に =IF(ISERROR(INDIRECT("納請書"&ROW(A4)&"!D18")),"",INDIRECT("納請書"&ROW(A4)&"!D18")) を入れました。

dorasuke
質問者

お礼

色々と勉強してやっと出来ました。 本当に有難うございます。 結果をご報告します。 B4 =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!B15")),"",INDIRECT("納請書"&ROW(A4)&"!B15")) C4 =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!H2")),"",INDIRECT("納請書"&ROW(A4)&"!H2")) D4 =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!C41")),"",INDIRECT("納請書"&ROW(A4)&"!C41")) H4 =IF(ISERR(INDIRECT("納請書"&ROW(A5)&"!H51")),"",INDIRECT("納請書"&ROW(A5)&"!H51")) 完成してうれしさ一杯です。 今後ともご指導の程よろしく御願いします。

dorasuke
質問者

補足

ご協力誠に有難うございます。 下記ご報告します。 シート「納請書4」が無い場合と有りの場合のテストをしました。 1 =IF(ISERROR(INDIRECT("納請書"&ROW(A3)&"!$B15"),"",INDIRECT("納請書"&ROW(A3)&"!$B15")) は いすれも「数式がただしくありません」とでます。 =IF(ISERROR(INDIRECT("納請書"&ROW(A3)&"!$B15"),  ""  ,INDIRECT("納請書"&ROW(A3)&"!$B15")) で数式バー "" が黒に表示されました。 2 =IF(ISERROR(INDIRECT("納請書"&ROW(A4)&"!D18")),"",INDIRECT("納請書"&ROW(A4)&"!D18")) 警告はなにも出ませんでしたが値が返しません。 補足説明 「納請書4」を追加したときに「月請求書」に値が入るようにしたいのですが。 但し「納請書4」が追加されないときは「月請求書」の18行は空白になるようにしておきたい。 ※場合によっては「納請書5」「納請書6」と追加することはあります。 ※この納請書は顧客ごとブックとして入力し保存します。 「納請書4」          「月請求書」 B18(納品日)          B18(納品日) C18(管理No)  C18(管理No) C10(件名)           D18(件名) H51(金額)           H18(金額) 誠に恐れ入りますがご検討の程よろしく御願いします。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 >空白の時は空白のままにしたい ⇒「空白」とは、対象シートが存在しないと認識していますので相違していれば読み捨て下さい。 =IF(ISERR(INDIRECT("納請書"&ROW(A3)&"!B15")),"",NDIRECT("納請書"&ROW(A3)&"!B15"))

dorasuke
質問者

お礼

ご指導まことに有難うございました。 いろいろとしている内に間違いが分かりました。 I が抜けているのに気づきました。 あなた =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!D18")),"",NDIRECT("納請書"&ROW(A4)&"!D18")) 私 =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!B15")),"",INDIRECT("納請書"&ROW(A4)&"!B15")) 本当に有難うございました。 今後ともご指導の程よろしく御願いします。

dorasuke
質問者

補足

件名のNo4に =IF(ISERR(INDIRECT("納請書"&ROW(A4)&"!D18")),"",NDIRECT("納請書"&ROW(A4)&"!D18")) を入れました。 エラー表示で「#NAME?」と出ました。 D18とは 件名 No4の事です ※まずシート「納請書4」は用意されいないのを追加するのですが。

関連するQ&A