- ベストアンサー
MOD関数
お世話になります。 MOD関数で、数値130を除数12にし、答えは10。 除数12は1月~12月を表したい。 1~12月に10が割り当てられるが、残った10を1月~10月に加算される(前から加算したい)関数を作るにはどうしたら良いでしょうか? よろしくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
何だか難しそうな式が書いてあるけど =INT($M$1/12)+(COLUMN(A1)<=MOD($M$1,12)) =INT($M$1/12)+(ROW(A1)<=MOD($M$1,12)) で十分じゃないの?
その他の回答 (6)
- bunjii
- ベストアンサー率43% (3589/8249)
- masnoske
- ベストアンサー率35% (67/190)
No.5 補足です。 > 残った10を1月~10月に加算 なので、 =INT(130/12)+IF(A1<=MOD(130,12),MOD(130,12)/INT(130/12),0)
お礼
INTとQUATIENTの説明もつけてくださりありがとうございました。 うまくいきました。 でも、どうしてこの式で正解が出るのかがわからない… 皆さん頭の中に式が構成されるのがすごいです…
- masnoske
- ベストアンサー率35% (67/190)
こういうことでしょうか。 A1からA12 に月に該当する1~12を入力しておく。 B1に =INT(130/12)+IF(A1<=MOD(130,12),1,0) を入力。 B1をB12までコピーする。 1月~10月 は 11 に、11月~12月 は 10 になります。 INT(130/12) は QUATIENT(130,12) でも同じです。 どちらも130÷12 の商を求める数式です。
- kkkkkm
- ベストアンサー率66% (1734/2604)
No2訂正です +MOD($M$1,12)-(MOD($M$1,12)-(MOD($M$1,12)/MOD($M$1,12)) は +1で良かった(笑) =IF(COLUMN(A1)<=MOD($M$1,12),INT($M$1/12)+1,INT($M$1/12)) と =IF(ROW(A1)<=MOD($M$1,12),INT($M$1/12)+1,INT($M$1/12)) に訂正です。
お礼
すみません、最初の回答にお礼してしまいましたが訂正でやってみてうまくいきました。
- kkkkkm
- ベストアンサー率66% (1734/2604)
M1に130を入れるとして 横方向だと =IF(COLUMN(A1)<=MOD($M$1,12),INT($M$1/12)+MOD($M$1,12)-(MOD($M$1,12)-(MOD($M$1,12)/MOD($M$1,12))),INT($M$1/12)) これを横方向に隙間なくコピーしてください。 縦方向だと =IF(ROW(A1)<=MOD($M$1,12),INT($M$1/12)+MOD($M$1,12)-(MOD($M$1,12)-(MOD($M$1,12)/MOD($M$1,12))),INT($M$1/12)) で縦方向に隙間なくコピーしてください。
お礼
やってみました、うまくいきました! 私は実は横方向に表を作りたかったのですが、ご丁寧に両方でご回答くださり、ありがとうございました。
- m5048172715
- ベストアンサー率16% (860/5261)
お礼
ありがとうございます。 縦横の回答助かりました。 横で表を作成する予定でした。