[[20170420154655]] 『セルから数字が引かれていく』(じー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルから数字が引かれていく』(じー)

「一回目」 「二回目」  
  20     20

リストに文字を入力すると上記一回目の20から1ずつ引かれて行き、一回目の20を使い終わると二回目の20から引かれて行くような関数はありますでしょうか。

リストに入力する文字はひたすら横向きのセルに打って行く感じです。
入力は日付なのですが1/2、2/2、2/3とそれぞれ1セルづつに打ち込みます。
できればリスト側も一回目使用最終まででセルの色か文字色が変わるとありがたいです。
つまり二回目から引かれる所から色が別の色になるような感じで。

< 使用 Excel:Excel2010、使用 OS:Windows8 >


1回目の数字はA2に、2回目の数字はB2にあるとし、
ひたすら横に打つ日付はA5の行に書くものとします。
と言ってもXXまでしか書けない式にしていますが...

A2の式は
=IF(20-COUNTA(A5:XX5)>0,20-COUNTA(A5:XX5),0)
B2の式は
=IF(A2<>0,20,20-COUNTA(A5:XX5)+20)

でいかがでしょうか。
(パオ〜〜ン) 2017/04/20(木) 16:14


ありがとうございます!
出来れば1回目、2回目の所には数式を入れたくないのですが、無理でしょうか。
そこの数字は手動で打ち込みたいのです。

(じー) 2017/04/20(木) 16:31


数式を入れずに1個ずつ減らすのは・・・
と言うより、数字を入れて(固定して)1個づつ減らす、というのは
マクロの力がないと無理なんじゃないでしょうか?

マクロでも良いのでしょうか?
その場合も、当然1回目2回目に入力した数字は変わっていきますが。。。
(パオ〜〜ン) 2017/04/20(木) 17:01


やはりマクロしかないですかね〜。
一回目、二回目の最初の数値設定は手動で入力し、当然リストの入力するたびに一回目から数値が減っていくことになると思います。
ちなみにマクロだとどんな感じになりますでしょうか。
(じー) 2017/04/20(木) 17:43

すみません、どのような並びか記載します。
一回目がA列、2回目がB列です。
横に日付を打ち込みます。下記ですとA1の20から4引かれることになります。
A2からは3引かれることになります。

A列 B列
20 20 2日 3日 8日 20日
20 30 3日 9日 11日
15 20
38 15
20 20

(じー) 2017/04/20(木) 18:34


 本件、なにが難しくしているかというと、最初にいれた数値が、そのあと 跡形もなくなくなってしまうことでしょう。

 こだわらずに、 最初に入力する2つの数字のセルと それから引き算していって表示するセルをわければ
 数式で簡単にできるとおもいますが。

 かりに、これをマクロ対応したとしても、最初に入れた数字情報がなければ、いずれ、引き算結果がぐちゃぐちゃになり
 使い物にならなくなる予感がしますね。

(β) 2017/04/21(金) 10:45


A列  B列  C列 〜
20   20    

  ↓  C列に日付を入力する
20   20   3/2
  ↓  A列が変わる
19   20   3/2

  ↓  D列に日付を入力する
19   20   3/2    4/4
  ↓  A列が変わる
18   20   3/2    4/4

ということでしょうか?
で初期値の20は固定ではなく、入力により変更したいというご要望ですね。
βさんが仰るように、初期値の入力場所と減らしていく場所を分ければご要望のものができるかと
思いますが、
どこか、理解できていないところがありますでしょうか?

また、例でお示しになった、3行目以降の
15 20
38 15
20 20

は何でしょうか?

(パオ〜〜ン) 2017/04/21(金) 11:55


βさんとまるかぶりですが、少し前に書いてしまっていましたので、
そのままアップします。
 
・当初の設定数の列とは別に残余数の列を作り、
・残余数のセルは式で算出する
ようにすべきです。(当初数の列は非表示にしておいても可)
 
質問にあるように現在残余数だけのセルでまかなおうとすると、
マクロや手動操作にミスがあったり、意図的な操作があっても、
それを判別できず、現在の残余数の正当性を保証できなくなります。
こうしたことは避けるべきです。
 
Changeイベントプロシージャを使ったマクロにしても、
単純に変更があったら1だけカウントダウンなどとしてしまうと、
日付を修正しただけでカウントダウンされたり、
余計なことに気を回さないといけません。
結局は、関数式で通算の数を計算して、当初数から差し引く、
といった処理をマクロでも実行することになるでしょう。
 
そう考えると、すでに提示があった関数式で十分ですし、それがベストでしょう。
 
>できればリスト側も一回目使用最終まででセルの色か文字色が変わるとありがたいです。
これも、当初数を使って条件付き書式で実現できます。
 
(追記)
なお、当学校ではマルチポストを許容していますが、
サロンはマルチポストを禁止しています。
一般的に、どのような議論で禁止されることがあるのか、
この際、学習して下さい。(ネット検索すれば、結構刺激の強い主張もあります)
 

(γ) 2017/04/21(金) 12:11


色々ありがとうございます。
マルチの件、何も知らず申し訳ございませんでした。
こちら一本に致しました。

ABの数値はそれぞれバラバラで行数は500ほどあり、上記には記載しておりませんでしたが
C列にABの合計をあらかじめ記載し、D列には使用数の行ごとの合計をCOUNTなどで出すようにしています。
なのでABが0になっても使用不可ということになり、CとDで照合すれば与えられた分使用した、ということになります。
今まで合計から使用数が引かれ、Aの分なのかBの分なのかわかりづらかった為、改良しようということになりました。
やっかいなのは期日が来ればAの数字が残っていてもAを削除しなければならないので、
もしAの列が残っていても面倒な引き算をせずにA列さえ削除すれば良いように出来ないものか、と思ったというわけです。
上記の方法で試してみます。
ただこれ以上列は増やさないようということなので、どうなるかわかりませんが。。。
関数さえも初心者なものですから。

(じー) 2017/04/21(金) 13:21


パオ〜〜ンさんのを関数アレンジし、列数を沢山増やして
とりあえず完成出来ました!
もっと簡易に、と言われるかも知れませんが、目標はクリア出来ました。

(パオ〜〜ン)さん(β)さん(γ)さん、
本当にありがとうこざいました。

また宜しくお願い致します!
(じー) 2017/04/21(金) 14:36


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.