人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問です。
A列の状態をB列C列に正数と負数に分けたいのですが
エクセル関数またはマクロでできますか
よろしくお願いします。

A列 B列 C列
5000 5000
6000 6000
-7000 -7000
3000 3000
-4000 -4000
6000 6000
-4000 -4000

●質問者: inosisi
●カテゴリ:コンピュータ インターネット
✍キーワード:エクセル マクロ 関数
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● きゃづみぃ
●31ポイント ベストアンサー

0の時は 正数のほうに 振り分けしています。

Sub 振り分け()
Dim a As Long
For a = 1 To Range("A1").End(xlDown).Row
 If Cells(a, "A") < 0 Then
 Cells(a, "C") = Cells(a, "A")
 Else
 Cells(a, "B") = Cells(a, "A")
 End If
Next a
End Sub
◎質問者からの返答

ありがとうございます。

早速使わせていただきます。


2 ● beatgoeson
●21ポイント

1行目からデータが入ってるとすると、

セルB1には、「=IF(A1>0,A1,"")」セルC1には「=IF(A1<0,A1,"")」と入力し、2行目以降はコピーしてください。

この場合は、A列が0の場合は、B列にもC列にも値は入りません。

もしA列が0の場合にB列に表示したい場合は、「=IF(A1>=0,A1,"")」のようにしてください。

◎質問者からの返答

ありがとうございます。

早速使わせていただきます。


3 ● mouitchou
●16ポイント

標準モジュールに下記を入力したのち、ワークシート上の一番左上(開始点)のセルにカーソルを置いて、マクロ furiwake を実行します。


-----------------------------------

Option Explicit

Sub furiwake()

Dim a As Double

Do While ActiveCell <> ""

a = ActiveCell.Value

If a >= 0 Then

ActiveCell.Offset(0, 1).Value = a

Else

ActiveCell.Offset(0, 2).Value = a

End If

ActiveCell.Offset(1, 0).Select

Loop

End Sub

------------------------------------

◎質問者からの返答

ありがとうございます。

早速使わせていただきます。


4 ● Baku7770
●16ポイント

表示だけの問題でよければ、書式でB列C列をユーザ設定で

0;-0;""

としておいてからB列C列に関数で

=if(a2>0,a2,0)←B列の例

=if(a2<0,a2,0)←C列の例

としておけば良いでしょう

◎質問者からの返答

ありがとうございます。

早速使わせていただきます。


5 ● readmaster
●16ポイント

非常にシンプルに、

B列に

=IF(A3>0,A3,"")

C列に

=IF(A3<0,A3,"")

で出来ますがこういうことではないのでしょうか?

◎質問者からの返答

ありがとうございます。

早速使わせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ