Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6500 / 13644 ツリー ←次へ | 前へ→

【44803】計算式ついて簡単な方法ありませんか? ねもと 06/12/1(金) 17:12 質問[未読]
【44806】Re:計算式ついて簡単な方法ありませんか? Jaka 06/12/1(金) 17:41 発言[未読]
【44807】Re:計算式ついて簡単な方法ありませんか? ichinose 06/12/1(金) 17:44 発言[未読]
【44808】Re:計算式ついて簡単な方法ありませんか? ichinose 06/12/1(金) 17:47 発言[未読]
【44863】Re:計算式ついて簡単な方法ありませんか? ねもと 06/12/4(月) 15:18 お礼[未読]

【44803】計算式ついて簡単な方法ありませんか?
質問  ねもと  - 06/12/1(金) 17:12 -

引用なし
パスワード
   下記の処理をしたい場合どのように記述すればいいですか?
在庫 4月 5月 6月 7月 8月 9月 ・・・・ 合計
 8  10  11  12  13             21
7月に13を入力した場合に合計は在庫 + 7月になります。
8月に数字を入力した場合は在庫 + 8月にしたいのです。
IF文で8月がスペースの場合は7月みたいな感じでやるとIF文だらけになってしまいます。簡単な式がありましたら教えてください。

【44806】Re:計算式ついて簡単な方法ありませんか?
発言  Jaka  - 06/12/1(金) 17:41 -

引用なし
パスワード
   こういうのとか。
途中で空欄があるとだめだけれど...。

=$A$1+OFFSET($A$1,,COUNTA($A$1:H1)-1,,)

【44807】Re:計算式ついて簡単な方法ありませんか?
発言  ichinose  - 06/12/1(金) 17:44 -

引用なし
パスワード
   ▼ねもと さん:
こんばんは。

>下記の処理をしたい場合どのように記述すればいいですか?

  A  B  C  D  E  F  G  H I J K L M N
1 在庫 4月 5月 6月 7月 8月 9月 ・・・・      3月 合計
2  8  10 11  12  13                     21
セルの位置は上記のように配置されているとすると、

合計値に相当するセルN2には、

=A2+IF(MAX(IF(B2:M2<>"",COLUMN(B2:M2)))=0,
0,OFFSET(A2,0,MAX(IF(B2:M2<>"",COLUMN(B2:M2)))-1,1,1))

という数式を入力してください。
但し、配列を使用していますから、セルの確定は、
Enterキーではなく、
Ctrl+Shift+Enterキーで確定してください。

これでB2からM2に数値を入力して試してください。

【44808】Re:計算式ついて簡単な方法ありませんか?
発言  ichinose  - 06/12/1(金) 17:47 -

引用なし
パスワード
   Jakaさん、こんばんは。

Jakaさんの数式のほうがすっきりしていますが、
一応、途中に空白があっても良い数式なので
残しておきます。

【44863】Re:計算式ついて簡単な方法ありませんか?
お礼  ねもと  - 06/12/4(月) 15:18 -

引用なし
パスワード
   皆さんありがとうございました。
うまく処理できました。

6500 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free