- ベストアンサー
エクセルでこんな事出来ます?
エクセル2000で教えて下さい。 ABCDの列に任意の数字が入ります。 例えば A B C D 1 -10 -20 -30 60 2 50 -30 0 -20 3 10 30 -25 -15 のように同じ行で4つのセルをプラスマイナスすると等しくなります。 数値の入力は小さい数字(マイナスの大きい数字)から順番に入力されていきます。 最後に一番大きい数字が入るように式を入れたいのです。 例で言うと1行目ではD1、2行目ではA2、3行目ではB3の答えが自動で入るようにしたいのです。 列は4列のみです。マイナスの数値は最低でも1つ入ります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VBAを使わないと出来ないと思います 作業列としてE,F列を使います E1=COUNT(A1:D1) F1=-SUM(A1:D1) とし、必要なだけ下にコピーしておきます VBAは、シートのChangeイベントに記述します --------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Cells(Target.Row, 5) = 3 Then Application.EnableEvents = False For c = 1 To 4 If Cells(Target.Row, c) = "" Then Cells(Target.Row, c) = Cells(Target.Row, 6) End If Next Application.EnableEvents = True End If End Sub
その他の回答 (3)
- reference
- ベストアンサー率0% (0/1)
E列に数式を設定 =SUM(A1:D1) 以下のようなマクロを記述 Sub 答え() i = 0 j = 0 For i = 1 To 3 For j = 1 To 4 X = Cells(i, 5) If Cells(i, j) = "" Then '空白セルを探す Cells(i, j) = -X Cells(i, j).Select With Selection.Interior '黄色づけ .ColorIndex = 6 .Pattern = xlSolid End With End If Next Next End Sub こんなのはいかがでしょう
お礼
御礼が遅くなり申し訳ありませんでした。 大変参考になりました。 有難うございました。
- ASIMOV
- ベストアンサー率41% (982/2351)
>小さいほうから順番に3つ入れると この「順番」というのは、数字が小さい方からという事ですよね この場合、入れる位置(セル)の順番はどうなっているのでしょうか 「適当に」という事でしょうか?
お礼
>この「順番」というのは、数字が小さい方からという事ですよね はい。その通りです。 >この場合、入れる位置(セル)の順番はどうなっているのでしょうか >「適当に」という事でしょうか? 実際にはあるデータに基づいて入力するのですが、この表だけ見れば おっしゃるように適当に入れるというか、その都度順不同という事に なると思います。
- ASIMOV
- ベストアンサー率41% (982/2351)
>例で言うと1行目ではD1、2行目ではA2、3行目ではB3の答えが自動で入るようにしたいのです。 この、D1,A2,B3 の位置は固定なんですか?
お礼
早々に御回答頂き有難うございました。 >この、D1,A2,B3 の位置は固定なんですか? いいえ違います。 どのセルかは決まっていません。 ただ小さいほうから順番に3つ入れると4つ目のセルに自動で数値が 入るようにしたいのです。
お礼
御礼が遅くなり申し訳ありませんでした。 大変参考になりました。 有難うございました。