- ベストアンサー
Excell2002でのデータ処理
Excell2002でのデータ処理に関数の使用を考えてます。 例えば、以下のようなデータがあります。 A列, B列 ,C列 1 , 10 , 2 , 12 , 3 , 8 , 10 5 , 15 , 8 8 , 20 , 9 , 18 , 10 , 16 , 20 ・ ・ (列がきれいに表示されてませんが!) A列は通し番号でありますが、中にはA列B列ともに同じ行で欠測値があります。 要はC列に「A列ー2の行」のB列の値を入れたいのです(上記C列参照)。 勿論B列に欠測値があるので該当する値がなければ「ブランク」とします。 ⇒C列にどのような関数を使えば良いのでしょうか? ⇒IF関数かとは思いますが・・・? ご教示ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>この部分は「0」あるいは「1」ですよね・・・? >「IF関数」でこの引数は「論理式」で、 >ここで「COUNTIF関数」を使用する意味を解説してください。 IF関数は、 =IF(条件,真の場合,偽の場合) という書式ですが、実際は、この条件が、 0→偽の場合を処理 0以外→真の場合を処理 という動作をします。 で、条件を論理式にすると、論理式の戻り値、TRUE/FALSEは、 TRUE=1 FALSE=0 に変換されて判定されます。 だから、COUNTIF関数のような数値を返す関数でもOKなわけです。 数式が短くなるように、このような書き方をしましたが、意味を考えると、 =IF(COUNTIF($A$1:$A$7,A1-2)=0,"",VLOOKUP(A1-2,$A$1:$B$7,2,FALSE)) の方が直感的にわかり易いですね。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 C1に、 =IF(COUNTIF($A$1:$A$7,A1-2),VLOOKUP(A1-2,$A$1:$B$7,2,FALSE),"") と入力して下の行へコピーします。
補足
maruru01さん、回答ありがとうございます。 これで解決出来そうですが、もう少しご教示ください。 >COUNTIF($A$1:$A$7,A1-2) この部分は「0」あるいは「1」ですよね・・・? 「IF関数」でこの引数は「論理式」で、ここで「COUNTIF関数」を使用する意味を解説してください。 再度よろしくお願いします。
- kmb01
- ベストアンサー率45% (63/138)
A列が昇順ならばC3以降に、 =IF(ISERROR(VLOOKUP(A3-2,A1:B7,2,FALSE)),"",VLOOKUP(A3-2,A1:B7,2,FALSE)) でいけると思います。
お礼
kmb01さん、回答ありがとうございます。 解決できそうです。
お礼
maruru01さん、再度回答ありがとうございます。 又一つ勉強になりました。 今後ともよろしくお願いします。