プロが教えるわが家の防犯対策術!

Excel2010を使用しています。
ある数値をセルに均等に振り分けたいのですが、出来ず困っています。

A1に元の数値 62 ←ここは変動します
A2に分割数  22 ←ここも変動します
A1/A2=2.81818 小数点になることもあります
この2.8を 整数の2か3にして 合計がA1(62)となる様に振り分けたいのです。

振り分けたいセルは、カレンダー機能が付いたセルで月によってセルの位置は変動します。
土日のセルには振り分けはせず、平日のセルのみに振り分けたいです。

A 回答 (2件)

No.1の回答者です。


不足の説明があったので、追加回答します。
C1の値が日付だった場合、シリアル値なのでIFでの指定をした値が
1などの数値になっていませんので、単純に参照できません。
NETWORKDAYS関数で月初めから何日目なのか出す必要があります。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
開始日を月初めにし、終了日をカレンダーの日付から参照します。
作業列を用意できないとすれば、No.1のIFにあるC1セルの部分を、
以下のようにします。
 C1 → NETWORKDAYS($C$1,C1)

 =IF($A$1-ROUNDDOWN($A$1/$A$2,0)*$A$2>=NETWORKDAYS($C$1,C1),ROUNDUP($A$1/$A$2,0),ROUNDDOWN($A$1/$A$2,0))

あとは月初めのセルから土地にを除く何日目なのかを取得をして、
ROUNDUP関数とROUNDDOWN関数の範囲を指定します。
    • good
    • 0
この回答へのお礼

ご丁寧に回答頂きましてありがとうございます。

回答者様の通りにした所、出来ました。
本当にありがとうございました。

お礼日時:2018/03/04 18:42

どのようなカレンダー形式なのか分からないことと、元の数値や


分割数がどこから参照するのか書かれていないので、考え方だけ
提示しますね。

分割数は、おそらく月内の土日を除く日数だと思われます。
これは、NETWORKDAYS関数で取得できます。

分割数で元の数値を割った値を整数にするのは、ROUNDDOWN関数
やROUNDUP関数で指定できます。

元の値からROUNDDOWN(割った値)に分割数を掛けたものを引いた
値は、ROUNDUP関数で計算すべき日数になります。
=A1-ROUNDDOWN(A1/A2)*A2
質問例だと、18日間を「3」にして、残り4日間を「2」にすれば、
総合計が元の値と同じになります。この18日間を出す計算式です。

これをIF関数などで、カレンダーの1日(仮にC1の日付)を参照に
すると以下のような数式で割り振ります。
 =IF($A$1-ROUNDDOWN($A$1/$A$2,0)*$A$2>=C1,ROUNDUP($A$1/$A$2,0),ROUNDDOWN($A$1/$A$2,0))

18日目まではROUNDUPされた数値になり、以降はROUNDDOWN
された数値になっているはずです。

簡単なレイアウトで試してみたら、元の値と土日を除く日にある
割り振った数値の合計は一致しました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!