• ベストアンサー

OFFSET関数と空白に0がでない関数組み合わせ

使用機器 Win7 Office2007 教えて頂きたい内容 エクセル2007でOFFSET関数と空白欄にゼロが出ない関数の複合設定方法はありますか。 ご存知の方のお知恵を拝借申し上げます。 現在添付サンプルの画面にはOFFSET関数のみ設定してあります。累計欄のE8以降E11迄 空白欄に数字が出ています。これを数字が出ないようにしたい。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.7

》 OFFSET関数の最大目的である「ある行を削除してもエラー表示が出ない」 それを最初に仰るべきでしたね。後出しはイヤよ、です。 E3: =IF(B3="","",SUM(OFFSET(E3,-1,),C3,-D3)) で、如何?

umiyamadai
質問者

お礼

mike g様 まずエラー表示の件でお詫びを申し上げます。独学を始めたばかりでoffset関数=「ある行を削除してもエラー表示が出さない関数」と思い込んでいました。従って「ある行を削除してもエラー表示が出さないようにする」という表示は重複すると思い敢えて書きませんでした。 浅学の至り平にご容赦ください。 ご丁寧な補足説明有り難う存じました。ご指示頂きました関数を勉強しました。 結果 目的を達しました。行を削除してもエラーは出ませんでした。、お手数をかけました事、又大きな蜂に刺され病院にて治療のため、返事が遅れました事、深くお詫び申し上げ解決済みにさせて頂きます。 umiyamadai

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

その他の回答 (7)

回答No.8

#5です エラーの原因をご教示頂ければ幸甚です かっこの位置 =IF(A4="","",INDEX(E:E,ROW()-1+C4-D4)) ではなく =IF(A4="","",INDEX(E:E,ROW()-1)+C4-D4) 意味はOFFSET関数と同様になります INDEX(E:E,ROW()-1) E列と入力した行の1つ上(ROW()-1)が交わるセルを返しなさいってこと # OFFSET関数は、計算と関係ないセルにデータを編集しただけでも計算が走ります。 # 少なくとも2003までは

umiyamadai
質問者

お礼

CoalTar ご丁寧な補足説明有り難う存じました。 ご指示頂きました関数を勉強しました。 結果 目的を達しました。行を削除してもエラーは出ませんでした。私の入力が間違っていて、お手数をかけました事、又大きな蜂に刺され病院にて治療のため、返事が遅れましたこと深くお詫び申し上げ解決済みにさせて頂きます。 kaumiyamadai

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.6

[No.3補足]OFFSET関数を使いこなせない私なら、次の式を下方にズズーッとドラッグ&ペーストします。 参考までに。 E3: =IF(B3="","",SUM(E2,C3,-D3))

umiyamadai
質問者

補足

mike g 様 ご教示有り難う存じました。ご教示頂いた関数をトライしました。 結果 ゼロを出さない目的は達せられましたが、OFFSET関数の最大目的である「ある行を削除してもエラー表示が出ない」という目的は残念ながら達せられませんでした。教えて頂いた関数は会計簿記帳時大変役立ちますので今後使わさせて頂きます。 ある行を削除した場合エラーが出た状況は次の通りです。プリントスクリーン画面が添付できませんので手書きで失礼します。    A     B        C         D         E 2                 収入       支出       累計 3 9月1日 繰越金     10000               10000 4 9月1日 年会費     30000               40000 5 9月2日 集会日                5000     35000 6 9月5日 インキ代               3000    グリーンエラーマーク #REF! 7 8 上記は9月3日の寄付金5000の行を、削除した結果です。E6にエラーが出ています。 私の目的は上記項目を削除しても、E6欄に3200と表示された状態で、且つA7以降未記入欄は空白状態にすることを求めているものです。 umiyamadai

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

「繰越金」が収入に入ったらまずくないかい? E3セルは手入力として E4セルに =IF(A4="","",INDEX(E:E,ROW()-1)+C4-D4) 下へオートフィル で良いかと思います。 なお、OFFSET関数の多用は計算が重くなるので使わないほうが良いです。

umiyamadai
質問者

補足

CoalTar様 早速のご教示有り難う存じました。教えて頂いた関数を設定して確認してみました 結果は次の通りです    A      B       C       D       E 2                収入     支出     累計 3 9月1日  繰越金    10000           10000 4 9月1日  年会費    30000              0 5 9月2日  集会日            5000   グリーンエラーマーク #VALUE 6 9月3日  寄付金    5000               0 7 9月5日  インキ代           3000   グリーンエラーマーク #VALUE 8 E4欄入力関数は次の通りです =IF(A4="","",INDEX(E:E,ROW()-1+C4-D4)) エラーの原因をご教示頂ければ幸甚です umiyamadai

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! すでに回答は出ていますので、参考程度で・・・ E3セルに =IF(COUNT(C3:D3),SUM(C3:D3),"") という数式を入れておきます。 (前期・前葉よりの繰越しがあると思いますのでこのセルだけは一旦表示させておきます) E4セルに =IF(COUNT(C4:D4),E3+C4-D4,"") という数式を入れオートフィルで下へコピーで大丈夫だと思います。 ※ 今後データが増えても良いようにしっかり下までオートフィルでコピーしておきます。 こんなんではどうでしょうか?m(_ _)m

umiyamadai
質問者

お礼

tom04様 皆様のおかげで目的を達しました。ご尊台より頂きました内容は今後大変役立ます。 大きな蜂に刺され病院にて治療のため、返事が遅れました事、深くお詫び申し上げ解決済みにさせて頂きます。 umiyamadai

umiyamadai
質問者

補足

tom04様 早速のご教示有り難う存じました テストを行ってみました。 結果 ゼロを表示させない方法としては、ご教示賜りました方法でできましたが、OFFSET関数は設定出来ませんでした。今回の目的は、OFFSET関数とゼロを表示しない二つの複合関数を設定して、ある行を削除してもその行以下に、エラー表示が出ないようにすることを目的にしています。 ご教示頂きました貴重な情報は、実務処理上今後非常に役立ちます。大切に保存させていただきます。厚く御礼を申し上げます umiyamadai

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.3

》 OFFSET関数のみ設定してあります ほほ~、どんな「OFFSET関数のみ」なのかに興味があります。 その式の内容を教えてください。それはどのセルのものかも明記願います。 【憧憬】OFFSET関数が使えるとは、貴方は Excel の達人です!

umiyamadai
質問者

補足

mike g様 早速のご教示有り難う存じます。 説明不足で申し訳ありませんでした。E4欄に設定してあるOFFSET関数は次の通りです。 =OFFSET(E4,-1,0)+C4-D4 E4を基準にして一つ上の行、同一列の内容を参照し、C4を加えD4を差し引いた金額をE4に表示すると解釈して設定しました。 尚、OFFSET関数は勉強を始めたばかりで、上記設定は友人から教わったもので、OFFSET関数は、現在この設定のみ理解している段階です。達人には程遠いビギナーです。 umiyamadai

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

E3=IF(COUNT(C3:D3),SUM(C$3:C3)-SUM(D$3,D3),"") としてE11までコピーする。

umiyamadai
質問者

お礼

mshr1962様 皆様のご協力を得て解決しました。ご尊台より教えて頂いた関数は更めて検証しエラーの原因を探ってみます。厚く御礼を申し上げ解決済みにさせて頂きます。 umiyamadai

umiyamadai
質問者

補足

mshr1962様 早速のご教示有り難う存じます。 ご教示賜りました内容をテストしてみました。 結果 OFFSETとゼロを表示させない関数が組み合わさって目的のものに合致しています。途中の行を削除してもエラーは出ません。 しかしどうしたことかE5欄にのみグリーンのエラーマークがついておりE6欄が40000であるべきところ45000と誤って計算されています。(E7=4200と表示されている。正=37000)   E5で表示される関数内容は次の通りです =IF(COUNT(C5:D5),SUM(C$3;C5)-SUM(D$3,D5),"") エラーの原因が解ればご教示頂きたくお願い申し上げます。 エラーが出ている画面の添付方法が解りませんので添付できません。解りにくい点ご容赦ください。 umiyamadai

全文を見る
すると、全ての回答が全文表示されます。
noname#187541
noname#187541
回答No.1

こんばんは。 まずは、E列に入れている数式を提示してください。「OFFSET関数のみ設定してあります」ではわかりませんので。

umiyamadai
質問者

お礼

M-SOFT様 皆様のおかげで目的を達しました。独学のビギナーが挑戦しましたが、浅学の至りで皆様にお手数をかけました。 教わった内容はさらに復習して少しでも前に数みたいと念じています。厚く御礼を申し上げ解決済みにさせて頂きます。 umiyamadai

umiyamadai
質問者

補足

M-SOFT様 早速のご教示有り難う存じます。 説明不足で申し訳ありませんでした。E4欄に設定してあるOFFSET関数は次の通りです。 =OFFSET(E4,-1,0)+C4-D4 E4を基準にして一つ上の行、同一列の内容を参照し、C4を加えD4を差し引いた金額をE4に表示すると解釈して設定しました。 尚、OFFSET関数は勉強を始めたばかりで、上記設定は友人から教わったもので、OFFSET関数は、現在この設定のみ理解している段階です。 umiyamadai

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

関連するQ&A

  • Excel2007でoffset関数について

    Excel2007のoffset関数についてなんですが P3=OFFSET(A3,0,M3-1) の0の部分を空白にしたいのですがどのようにしたらよろしいでしょうか?詳細設定でないやり方が知りたいです。 M3に何も入ってない状態にP3に0が表示されない状態にしたいです。M3に何かが入ってP3に0が表示されるその時は0をそのまま表示したいです。 誰か教えて頂けませんでしょうか。 できなくて不思議でなりません。

  • エクセル2007 OFFSET関数 INDIRECT関数

    エクセル2007でOFFSET関数とINDIRECT関数を用いてセルの入力規則をして、リスト表示したいと思っています。 入力規則のリストは動的な値を設定したいと思っています。  ABCDE 1あいうえお 2かきくけこ 3さしすせそ 4たちつてと 5なにぬねの というシートA列に”データベース1”B列に”データベース2”・・・といった具合に名前を定義します。このデータベースは行がどんどん増えていく可能性があるため、名前の定義の参照範囲欄に (1)=OFFSET($A$1,0,0,COUNTA(A:A),1)  としました。 別シートに 表示したいセルで入力規則→設定タブ→入力値の種類→リストを選択。 元の値の欄に (2)=INDIRECT(A2&"1",FALSE)  としました。  ※A2は”データベース”と入力してあるセルです。 ここからがわからないのですが 上記式(1)、(2)の両方とも単独で使用した場合は欲しい値が得られるのですが、組み合わせて使用した場合はリストが出てこなくなってしまいます。 1)組み合わせて使うことはできないのですか 2)ほかにいい方法はありますか ということを質問します。 よろしくお願いします。

  • 2段階リストをOFFSET、MATCH関数で作る

    2段階リストを、「名前の定義」つまり「INDIRECT関数」を使わず、OFFSET関数とMATCH関数で作るのが目的ですが、成功しません。 添付した画像の「A列目」に1段目リストを、「B列目」に2段目リストを作ります。 E列からH列は元データです。 たとえば「リスト」表示にせず、単に「りんご」をB2に表示させたい場合は =OFFSET(D1,1,1,2,) こうなるわけです。 なので「行数」はこれであっています。 問題の「列数」がMATCH関数になるのでわかりずらいです。 また、もうひとつの条件ですが、リストに空欄を作らない、 大項目、小項目共に()などの記号が入っても、表示させることができればと思います(INDIRECT関数ではこれができません)。 ミスっている原因と正しい式をわかりやすく教えてください。

  • OFFSET関数の基準セルの指定の仕方を工夫したい

    OFFSET関数を上手く使いこなすテクニックを教えて下さい。画像を添付します。 OFFSET関数を使って別のExcelファイルからデータを取ってくる方法を教えて下さい。 【前置き】 この添付ファイルとは別に「Aマンション家賃データ.xlsx」というファイルが存在し、その中に各個人に割り当てたID(H1,H2,H3,・・・)の名前のシートがある。 添付ファイルのセルE7を見ていただければ分かるように、「Aマンション家賃データ」ファイルのSheet H4からデータを取ってきているのがわかりますが、この数式の基準値を指定している部分の「H4」をその行の一番左側のセルA7の値から取ってくることはできないでしょうか?  なんか上手くいきません。どうか教えて下さい。よろしくお願いします。OFFSET関数でなくても構いません。

  • エクセル関数の使い方を教えて下さい。

     エクセル関数を使って計算式を設定したいので,教えて下さい。現在,例のように5月までの累計100と,6月の合計が55(緑色のセル範囲の合計)を合わせ,6月の累計の欄に155が表示されるように設定しています。次の条件を満たすようなエクセル関数の使い方を教えて下さい。  1) 6月のデータが全くない場合,6月の合計の欄には,何も表示させないという関数の使い方    2) 次に,7月の累計の欄ですが,7月のデータが入力されていない場合には,6月までの累計が既に計算されている場合でも,表示しないという関数の使い方です。     ※1)と2)の条件を同時に満たすエクセル関数の使い方を教えてもらえると助かります。  3)8月,9月の累計の欄の結果も2)と同じように設定をしたいです。    よろしくお願い致します。   

  • IF関数のことで教えてください

     A B C D E 1  ア イ ※1 2  ウ   ※2 3      ※3 4 上のような状況で 「アをイが上回ったら※1には“達成”」 「ウと記載があるが評価する数字がない、もしくは下回る数字の場合は※2に“未達成”」 「全く比較する数字がない場合は※3空白」 としたいのですが、 =IF(C1>=B1,"達成","未達成") という数式を作ると 空白にしたい欄にも“達成”と記載されてしまいます。 数値の記入が全くない場合はD欄も空白にする方法はあるでしょうか? いろいろ試してみたり、調べてみたりしたのですが 関数は初心者でわかりませんでした。 素人質問で申し訳ありませんが、ご存知の方教えていただけないでしょうか? よろしくお願いいたします。

  • 最適な関数式について

    添付ファイルのように、関数を入力しました。 パスワード変更日欄が未入力の場合にパスワード有効期限欄に変な表示になってしまいます。 そこで、パスワード変更日欄が空白の場合に、パスワード有効期限欄も空白に表示したいのですが、最適な関数式はないでしょうか? ご教授のほどよろしくお願いします。

  • 関数による空白行を除き範囲を選択するマクロ

    添付ファイルのシートが同じファイル内にある別シートの値を参照の上、元シートの入力がない場合は、if関数により空白表示する様にしてあります。(関数自体は1万行くらいまで入力すみです。) このシートの空白表示以外のセル(A6:i22)までを選択するマクロを組みたいのですが普通のrange(A6:i6).End(xlDown).Rowを使うと空白表示行を含めた関数のある最終行を選択してしまいます。 サンプルの(A6:i22)をうまく選択するマクロを教えてください。

  • IF関数で教えてください。

     よろしくお願いします。  C4、E4、D4ともにランダムに変化する数字があります。  IF関数で =IF(C4=E4,D4,"")  の場合、C4=E4ならばD4が表示されました。その後C4=E4でなくなった場合、空白になるのですが、空白にならず、変化前のD4の数字のままであるやり方はないのでしょうか、よろしくお願いします。

  • EXCEL2007での関数について

    すみません、関数について教えてください。 図のように、セルC(=B*0.9)からセルE(=D*0.9)の値を引いてセルFに数字を出したいのですが、 セルCが空白の場合は、セルBの数字を参照してセルFに数字を出すとゆう関数ってありますか? IF関数の勉強不足により、それが可能かどうかがわかりません。 補足:『通常は、セルC-セルE=セルF、でも、セルCが空白の場合は、セルB-セルE=セルF』といった感じの関数があれば教えてくださいm(_ _)m

専門家に質問してみよう