プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。
エクセルで質問があります。

A列に数値データ、B列に0 or 1のデータがあります。
Sum(B:B)=A列の行数です。
このデータを、C列に1のときはA列のデータを1行下にコピー、0のときは""にしたいと考えております。
結果C列はB列を同じ行数

if文でC1セルに

=if(B1=1,A1,"")

と打つと、B列に0が入った途端、A列の数値が進みすぎてしまいます。
B列=0のときA列を進まなくする方法はあるのでしょうか?
たとえばB1=1, B2=0, B3=1のとき、C3にはA2の数値を入れたいのですが、A3になってしまいます。

よろしくお願いいたします。

A 回答 (4件)

こんばんは!


解釈が違っていたらごめんなさい。

↓の画像のような感じになれば良いのですかね?

もしそうであれば、C1セルに
=IF(B1=0,"",INDEX(A:A,SUM($B$1:B1)))

という数式を入れ、オートフィルで下へコピーしています。

以上、参考になれば幸いですが、
的外れなら読み流してくださいね。m(__)m
「エクセルで行数の異なる2つの列の数値を新」の回答画像4
    • good
    • 0
この回答へのお礼

画像まで貼っていただいて丁寧にありがとうございます。
お察しの通りのデータを作成したかった次第であります。

お教えいただいた関数で無事、求めていたことを完成することができました。
正直まだすべての関数の意味を理解しておりませんので、じっくり理解していこうと思います。
ありがとうございました。

お礼日時:2009/12/31 01:02

こんな感じで?


C1へ
=IF(B1=1,INDIRECT("a"&COUNTIF($B$1:B1,1)),"")

参考まで
    • good
    • 0

C2セルに次の式を入力して、下方にドラッグコピーします。


=IF(B1=1,A1,"")
    • good
    • 0

そのやり方で無いとダメですか?


最終目的が「必要な行だけにしたい」なら以下の方法をお試しください。

1)オートフィルタを使って列Bが1の行だけを表示させる。
2)表示された範囲を選択する。
3)編集>ジャンプ>選択>可視セルで、表示された行「だけ」を選択できるので「コピー」する。
4)セルC1をクリックして、「貼り付け」

ではどうでしょう?
    • good
    • 0

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