戻る  □VBAのサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
ブランクがある場合の差引計算 複数列にまたがるパターン

    [133352] ブランクがある場合の差引計算 複数列にまたがるパターン-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/05(09:57))
    □U R L/

      前回の場合、1列のみの計算でしたが、複数列の場合はどうすればよろしいのでしょうか。
      6行目、7行目を空白の場合、8行目からデータが入力されたら(B列、D列、E列、H列)
      その結果を表示させたい。

      ご教示よろしくお願いいたします。

      前日実在庫 スタートは前月残の数字(K5)  今回は18,200(前月残から自動的に参照させる)
      それ以降は、実在庫(入力)の前行の数字
      K6 ➡ M5 
      K7 ➡ M6
      K8 ➡ M7

      計算在庫の計算式(G列) ➡ 前日実在庫(F列)ー出荷(D列)+入荷(E列)

      本日増減の計算式(I列) ➡ 実在庫(入力)(H列)ー計算在庫(G列)

      前日累計増減(J5) 必ず、01日は「0」とする(固定)
      それ以降は、累計増減の前行の数字
      J6 ➡ K5
      J7 ➡ K6
      J8 ➡ K7

      累計増減の計算式(P列) ➡ 前日累計増減(J列)ー本日増減(I列)


           A      B     C     D    E    F      G     H       I     J     K
      4行目        メーター  使用量   出荷 入荷  前日実在庫  計算在庫  実在庫(入力)  本日増減 前日累計増減 累計増減
      5行目 01日(土)  18,200                 0
      6行目 02日(日)         
      7行目 03日(月)
      8行目 04日(火) 32000428  5,752 -5,750 0    18,200 12,450   12,400 -50 0 -50
      9行目 05日(水) 32002459  2,031 -2,030 4,000 14,300 13,610   14,300 -70 -50 -120
      10行目 06日(木) 32004149  1,690 -1,690 1,000  13,900 20,910   13,900 290 -120 170
      11行目 07日(金) 32011139  6,990 -6,990 14,000             20,800 -110 170 60
      12行目 08日(土) 32017441  6,302 -6,300 0            14,500 0 60 60





    [133353] Re[1]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/05(10:03))
    □U R L/
      表がズレたので 再投稿します。
      
           A      B     C     D    E    F      G      H      I     J     K
      4行目        メーター  使用量   出荷   入荷  前日実在庫  計算在庫  実在庫(入力)  本日増減 前日累計増減 累計増減
      5行目 01日(土)                         18,200                    0
      6行目 02日(日)         
      7行目 03日(月)
      8行目 04日(火)   32000428   5,752   -5,750    0   18,200    12,450    12,400      -50       0    -50
      9行目 05日(水)   32002459   2,031   -2,030  4,000    14,300    13,610    14,300      -70      -50    -120
      10行目 06日(木)   32004149   1,690   -1,690  1,000    13,900    20,910     13,900      290      -120    170
      11行目 07日(金)   32011139   6,990   -6,990  14,000                 20,800      -110      170     60
      12行目 08日(土)   32017441   6,302   -6,300    0                 14,500       0       60     60




    [133354] Re[2]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/05(10:10))
    □U R L/
      何度もすみません。
      F列、G列の計算結果が違っておりました。
      
           A      B     C     D    E    F      G      H      I     J     K
      4行目        メーター  使用量   出荷   入荷  前日実在庫  計算在庫  実在庫(入力)  本日増減 前日累計増減 累計増減
      5行目 01日(土)                         18,200                    0
      6行目 02日(日)         
      7行目 03日(月)
      8行目 04日(火)   32000428   5,752   -5,750    0   18,200    12,450    12,400      -50       0    -50
      9行目 05日(水)   32002459   2,031   -2,030  4,000    12,400    14,370    14,300      -70      -50    -120
      10行目 06日(木)   32004149   1,690   -1,690  1,000    14,300    13,610     13,900      290      -120    170
      11行目 07日(金)   32011139   6,990   -6,990  14,000    13,900    20,910    20,800      -110      170     60
      12行目 08日(土)   32017441   6,302   -6,300    0    20,800    14,500    14,500       0       60     60
      




    [133355] Re[3]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ asahishi -(2022/10/05(23:16))
    □U R L/

       初めまして。

       状況が今一掴めていない中の返信になります・・・

       済みません・・・

      |6行目、7行目を空白の場合、8行目からデータが入力されたら(B列、D列、E列、H列)

      という事はデータを入力するセルはB列、D列、E列、H列という事で計算式を入れるセルはそれ以外全ての列という事になるのでしょうか・・・

       F列は特に指定が無い様な気がするのですが手入力という事になるのでしょうか・・・?

       それと説明にP列というのが出て来ますが表のイメージサンプルにP列が無いのでどうしていいか分かりません・・・

       取り敢えずB列、D列、E列、H列が入力されたら他の列に値が出れば良いのかと思ってちょっと試してみました・・・

       結果G列に関してはG6に

      |=IF(F6="","",F6+D6+E6)

      とでも入力して以下下に向かってフィルコピーでは駄目でしょうか・・・

      で、I列に関してはI5に

      |=IF(H5="","",H5-G5)

      とでも入力して以下下に向かってフィルコピーでは駄目でしょうか・・・

       J列、K列に関してですがG列、I列の様に明確な式が提供されていない様な気がするのですが自分の読解力に問題があるのでしょうか・・・

       あまり参考にならないかも知れませんがこの辺りが自分には限界です・・・

       済みません・・・




    [133360] Re[4]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/06(14:44))
    □U R L/

      asahishiさん ありがとうございます。

      空白なら空白をそうでない場合は差引の計算を実行
      という計算式では、正しい累計額が出なかったので、質問した次第です。

      <F列は特に指定が無い様な気がするのですが手入力という事になるのでしょうか・・・?

      前日実在庫 スタートは前月残の数字(K5)  今回は18,200(前月残から自動的に参照させる)
      それ以降は、実在庫(入力)(H列)の前行の数字
      J6 ➡ =K5
      J7 ➡ =K6
      J8 ➡ =K7

      <それと説明にP列というのが出て来ますが表のイメージサンプルにP列が無いのでどうしていいか分かりません・・・

      間違えてました。
      累計増減の列でK列の事です。




    [133362] Re[5]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ asahishi -(2022/10/06(17:27))
    □U R L/

       こんにちは。

       あまり参考にはならないと思いますが一応返信しておきます・・・

      |空白なら空白をそうでない場合は差引の計算を実行
      |という計算式では、正しい累計額が出なかったので、質問した次第です。

       その式をここに書き込んでいただいた方が他にアドバイスしてくれる方が居た場合参考になるかと思いますししおかぜさんにとっても参考になるかと思うのですがどんな感じでしょうか・・・

       動かない式だから書き込む意味が無いかと思われるかも知れませんがその式をこちらで改良してもらえばお互いにとって参考になったりすると思うのですが・・・

      |前日実在庫 スタートは前月残の数字(K5)  今回は18,200(前月残から自動的に参照させる)

       一番最後にしおかぜさんが書き込まれたサンプルの表ではK5は空白でありK列自体が累計増減となっていますがF5の間違いでしょうか・・・?

       また一部分にはなりますが私が書き込んだ式はそちらでは動かなかったのでしょうか・・・

       しおかぜさんの書き込みだけが頼りなので状況がよく分かりません・・・

       K列からJ列に値を移す件ですがJ6に

      |=K5

      と入力して以下下にフィルコピーでは駄目なのでしょうか・・・

      K列が空白の時は何も表示しないのであれば

      |=IF(K5="","",K5)

      とかでは駄目でしょうか・・・

       後残りの計算式が不明な列もよく分かっていません・・・

       済みません・・・




    [133364] Re[6]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ 檸檬 -(2022/10/06(22:03))
    □U R L/

      念のためにお聞きしますが、C列・D列は計算式が入っているのですよね?
      C列なら
      [133349] ブランクがある場合の差引計算
      で半平太さんが示された式に当てはめればできますが。。。




    [133365] Re[7]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/07(11:27))
    □U R L/
      檸檬さん、返信ありがとうございます。
      
      C列は、別の質問で解決済みです。
      
      >6行目、7行目を空白の場合、8行目からデータが入力されたら(B列、D列、E列、H列)
      
      入力する列は、B列、D列、E列、H列です。
      
      
      asahishiさん、返信ありがとうございます。
      
      入力する列と計算式が設定されている列を表記しました。
      
           A      B     C     D    E    F      G      H    I      J     K
                 (入力)   (計算式) (入力)  (入力)  (計算式)   (計算式)   (入力)  (計算式)  (計算式)  (計算式)
      
      4行目        メーター  使用量   出荷   入荷  前日実在庫  計算在庫   実在庫  本日増減  前日累計増減  累計増減
      5行目 01日(土)                         18,200                          0
      6行目 02日(日)         
      7行目 03日(月)
      8行目 04日(火)   32000428   5,752   -5,750    0   18,200    12,450    12,400    -50       0    -50
      9行目 05日(水)   32002459   2,031   -2,030  4,000    12,400    14,370    14,300     -70      -50    -120
      10行目 06日(木)   32004149   1,690   -1,690  1,000    14,300    13,610     13,900     290      -120    170
      11行目 07日(金)   32011139   6,990   -6,990  14,000    13,900    20,910    20,800    -110      170     60
      12行目 08日(土)   32017441   6,302   -6,300    0    20,800    14,500    14,500      0       60     60
      
      
      >G6=IF(F6="","",F6+D6+E6)
      この計算結果は、空白ですが、下方向へコピー後 04日の結果 G8=12,450になりません。
      
      >I5==IF(H5="","",H5-G5)
      この計算結果は、空白ですが、下方向へコピー後、04日の結果 I8=-50になりません。
      
      各列の計算式は、下記の通りです。
      F列 前日実在庫 スタートは前月残の数字  今回は18,200(前月残から自動的に参照させる)
      それ以降は、実在庫(H列)の前行の数字が入る
       F6 ➡ =H5
       F7 ➡ =H6
       F8 ➡ =H7
      G列 計算在庫   ➡ 前日実在庫(F列)―出荷(D列)+入荷(E列)
      I列 本日増減   ➡ 計算在庫(G列)―実在庫(H列)
      J列 前日累計増減 ➡ 累計増減(K列)の前行 例)J8の場合 =K7 但し、月初の01日は「0」に設定
      K列 累計増減   ➡ 本日増減(I列)―前日累計増減(J列)
      
      この計算式の状態で、B8、D8、E8、H8にデータを入力すると、結果は下記の通りになり正しい結果が得られませんでした。
      
           A      B     C     D    E    F      G      H    I      J     K
                 (入力)   (計算式) (入力)  (入力)  (計算式)   (計算式)   (入力)  (計算式)  (計算式)  (計算式)
      
      4行目        メーター  使用量   出荷   入荷  前日実在庫  計算在庫   実在庫  本日増減  前日累計増減  累計増減
      5行目 01日(土)                         18,200    18,200         -18,200       0   -18,200
      6行目 02日(日)                                              0            0                       0       -18,200   -18,200
      7行目 03日(月)                                                      0            0                       0       -18,200   -18,200
      8行目 04日(火)   32000428   5,752   -5,750    0   18,200    12,450    12,400   6,650    -18,200  -11,550
      9行目 05日(水)   32002459   2,031   -2,030  4,000    12,400    14,370    14,300   -4,130    -11,550  -15,680
      10行目 06日(木)   32004149   1,690   -1,690  1,000    14,300    13,610     13,900   -3,090    -15,680  -18,770
      11行目 07日(金)   32011139   6,990   -6,990  14,000    13,900    20,910    20,800   -14,090    -18,770  -32,860
      12行目 08日(土)   32017441   6,302   -6,300    0    20,800    14,500    14,500   -12,600    -32,860  -45,460
      
      
      
      




    [133366] Re[8]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ asahishi -(2022/10/07(13:47))
    □U R L/

       こんにちは。

       例によってよく分かっていない中での返信になります・・・

       済みません・・・

      |>G6=IF(F6="","",F6+D6+E6)
      |この計算結果は、空白ですが、下方向へコピー後 04日の結果 G8=12,450になりません。

       こちらではこの式を下にフィルコピー後G8には

      |=IF(F8="","",F8+D8+E8)

      という式が入っていて計算結果は 12,450 となっています・・・

       そちらでは何という式が入っていて何という値になっているのでしょうか・・・

      |>I5==IF(H5="","",H5-G5)
      |この計算結果は、空白ですが、下方向へコピー後、04日の結果 I8=-50になりません。

       こちらではこの式を下にフィルコピー後I8には

      |=IF(H8="","",H8-G8)

      という式が入っていて計算結果は -50 となっています・・・

       部分的ですが済みません・・・

       フィルコピーの動作が違うとかいう事はないのでしょうか・・・

       後、式の作り方だけではなく実際にセルに入力している式も書いてもらった方が参考になるかもです・・・

       全部のセルは煩雑になると思うので列毎に1つずつ実際の式(特に思い通りに動いていない列の実際の式)があると参考になるかもです・・・




    [133367] Re[9]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ 檸檬 -(2022/10/07(15:23))
    □U R L/

      もしかしてですが

      >G列 計算在庫 ➡ 前日実在庫(F列)―出荷(D列)+入荷(E列)
      >G6=IF(F6="","",F6+D6+E6)

      D列(出荷)は計算式ではなく手入力とのことなので

      マイナス表示になっていますが、表示形式で変えているだけではないですか?
      数式バーではプラスですか?マイナスですか?

      >G8=12,450になりません。
      なんと表示されますか?




    [133368] Re[10]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ asahishi -(2022/10/07(19:50))
    □U R L/

       こんばんは。

       檸檬さんフォロー有り難う御座います。

       仮にD列の出荷のマイナス表示が実際の値はプラスでセルの書式設定等でマイナス表示にする様にしているのであればG6の式は

      |IF(F6="","",F6-D6+E6)

      となり以下下に向かってフィルコピーという事になります・・・

       I列に関してはI5に

      |=IF(H5="","",H5-G5)

      となり以下下に向かってフィルコピーという事になります・・・

       I列の式は変わりませんがG列の式が変わるのでG列の値も変わって結果I列の計算結果も変わって来ると思います・・・

       いつも少しずつで申し訳無いのですが取り敢えずこの辺で・・・




    [133369] Re[11]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/08(11:12))
    □U R L/
      asahishiさん、檸檬さん ありがとうございます。
      
      D列のマイナス表示をはずした結果です。
      
           A     B    C     D   E   F     G    H    I      J     K
      	        (入力)	(計算式) (入力) (入力) (計算式) (計算式)	(入力)	(計算式)  (計算式)	 (計算式)
      	      メーター	使用量	 出荷	 入荷	前日実在庫 計算在庫	実在庫	本日増減  前日累計増減 累計増減
      5行目 01日(土)					 18,200			       0	
      6行目 02日(日)										
      7行目 03日(月)										
      8行目 04日(火)  32000428	5,752	 5,750	   0	    0   -5,750	12,400	 18,150		  #VALUE!
      9行目 05日(水)  32002459	2,031	 2,030	 4,000	 12,400   14,370	14,300    -70	#VALUE!	  #VALUE!
      10行目 06日(木)  32004149	1,690	 1,680	 1,000	 14,300   13,620	13,900    280	#VALUE!   #VALUE!
      11行目 07日(金)  32011139	6,990	 6,990	 14,000	 13,900   20,910	20,800	   -110	#VALUE!	  #VALUE!
      12合目 08日(土)  32017441	6,302	 6,300	   0	 20,800   14,500	14,500	     0	#VALUE!	  #VALUE!
      
      
      やはり、正しい結果が得られません。
      8行目のF列 前日実在庫、G列 計算在庫の値が違います。
      
      F8 誤)    0 → 正) 18,200
      G8 誤) -5,750 → 正) 12,450
      
      
      累計計算結果がエラーになります。
      
      J5の計算式 → 「0」で固定
      J6の計算式 → =K5 以下 下方向へコピー
      
      K5の計算式 → =IF(H5="","",I5-J5) 以下 下方向へコピー
      
      正しい結果は過去のやり取りの中の、(2022/10/07(11:27))送信の[133365]にUPしております。




    [133370] Re[12]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/08(11:17))
    □U R L/

      I8の値も違っております。

      I5の計算式 → =IF(H5="","",H5-G5) 以下、下方向へコピー

      I8 誤) 18,150 → 正) -50




    [133371] Re[13]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/10/08(14:13))
    □U R L/
       タイトルは「ブランクがある場合の差引計算 複数列にまたがるパターン」となっていますが、
       サンプルでは、初め3行が空行でそれ以降は連続になっていますね。
       
       中間で空行がある、と言うパータンは無いのですか?
       
       




    [133372] Re[14]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/08(15:56))
    □U R L/

      半平太さん、ありがとうございます。

      >中間で空行がある、と言うパータンは無いのですか?

      →あります。

      今回の例は、年始4日から始まったので、3行があいております。
      次に、日曜日が空白となります。




    [133373] Re[15]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/10/08(16:14))
    □U R L/
      5行目の式
      (1) G5セル =IF(H5="","",F5-D5+E5)
      (2) I5セル =IF(H5="","",H5-G5)
      (3) K5セル =IF(H5="","",SUM(I5:J5))
      
      6行目の式
      (4) F6セル =IF(H6="","",IF(H5="",IFERROR(LOOKUP(8^8,H$4:H5),F$5),H5))
      (5) J6セル =IF(H6="","",IFERROR(LOOKUP(8^8,K$4:K5),J$5))




    [133374] Re[16]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ しおかぜ -(2022/10/08(17:06))
    □U R L/

      半平太さん、ありがとうございます。

      完璧です!!
      計算結果のすべての列の値、合致しました。

      この4日間、中々 解決できず困り果てておりました。
      無事、解決できて助かりました。
      本当に、お世話になりました。





    [133375] Re[17]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/10/08(17:40))
    □U R L/
      asahishiさんが、色々な疑問点をクリアにしてくれたお陰です。
      
      質問当初は、私にはお手上げ状態でした。
      




    [133376] Re[18]: ブランクがある場合の差引計算 複数列にまたがるパターン-

    記事引用/メール受信=OFF■

    □投稿者/ asahishi -(2022/10/10(21:10))
    □U R L/

       部分的にでも自分で分かりそうな所があればと思って返信していましたが状況把握も碌に出来ず役立たずの式ばかり提供してしまい済みませんでした・・・

       しおかぜさんにも何度もお手を煩わせてしまって申し訳無かったです・・・

       もう一度部分的にでもと思い返信しようと思っていた所半平太さんから書き込みがあり空行の事に触れておられたので下手な書き込みはしない方がと思い自分の書き込みは控えましたが正解でした・・・

       やはり半平太さんは次元が違いますね・・・

       ググる事しか能の無い自分の限界がこの辺りみたいです・・・



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G