dポイントプレゼントキャンペーン実施中!

x軸に波長、y軸に光強度のデータを測定したのですが、測定の間隔を1nm刻み、0.5nm刻みの2種類のデータとしてしまいました。これを1nm刻みでそろえたいのでオートフィルタでそろえようと思いましたが、項目ありませんでした。整数のみ抜き取るマクロやVBAは何かありますか?よろしくお願いします。

A 回答 (5件)

Sheet1の第2,4、6・・行をSheet2に抜き出すなら


Sheet2のA1に =INDIRECT("Sheet1!A"&(ROW()*2))
と入れて下方向に式を複写。
B1は =INDIRECT("Sheet1!B"&(ROW()*2))
第1,3,5、・・行なら
Sheet2のA1は =INDIRECT("Sheet1!A"&((ROW()-1)*2)+1)
です。
ーーーーーーーーー
規則性がなければ
例データ A2:A10 に
A列         D列(関数式の結果)-は判りやすくするため
入れたもので実際にはない。
1ー1
2.31ー
3.41ー
4ー2
5ー3
6ー4
7.1ー
8ー5

あき列をD列として、D列D2に
=IF(A2="","",IF(MOD(A2*10,10)=0,MAX($D$1:D1)+1,""))
で条件に合うものに連番が触れます。
Sheet2に行って
A1に 
=INDEX(Sheet1!$A$2:$B$10,MATCH(ROW(),Sheet1!$D$2:$D$10,0),1)
この式を下方向に複写する。(自称imogasi方式)
結果
1
4
5
6
8
#N/A
#N/Aの非表示は
=IF(ROW()>MAX(Sheet1!$D$1:$D$10),"",INDEX(Sheet1!$A$2:$B$10,MATCH(ROW(),Sheet1!$D$2:$D$10,0),1))
    • good
    • 0
この回答へのお礼

ありがとうございます。
関数使い初めのものですので
関数の意味を追っていって時間が掛かりました。
大変勉強になりました。

お礼日時:2006/07/08 17:20

>測定の間隔を1nm刻み、0.5nm刻みの2種類


測定の間隔とセルのデータの整数・非整数とはどういう関係が有るのですか。ないはずです。
少数実例でも挙げて質問しないと、シートのセルの状況がわかりません。間隔を短くするデータが整数でなくなるなんてことは、一般的ではないでしょう。どちらも整数になる(する)場合もあり、ならない場合(有効数字)もあると思う。

この回答への補足

おっしゃるとおりです。具体的な例を挙げて説明します。
A列  B列
400.5 5.23
401  5.36 
401.5 5.27
402  6.35
402.5 6.35
.
.
.
A列の数字が1000まで0.5刻みで続いています。
データにするときはこの項目がじゃまなので
A列が小数点の行を消去したいのです。

A列  B列
401  5.36 
402  6.35

自分の言いたいことはこうでした。
言葉が足りませんでした。反省します。
このようなデータがたくさんあるので何かいい手はないかと思った訳です。
よろしくお願いします。

補足日時:2006/07/07 23:58
    • good
    • 0

私も No.2 さんの方法をお勧めします。



ただし、式は単に =MOD(A2,1) でOKです。(セル A1 は項目名が、セル A2 以降に測定値が、それぞれ入力されていると仮定)
安全のために式を =ROUND(MOD(A2,1),5) としておく方がベターかも。
式が返す値が 0 に該当する測定値が整数になっています。
    • good
    • 1
この回答へのお礼

確かにそうですね。ありがとうございます。
行と列を間違えて記載していたのにこの方法を使えば出来そうですね。ありがとうございました。

お礼日時:2006/07/08 00:07

あまり美しくない方法ですが



A列 B列
0.5  y1
1.0  y2
1.5  y3
2.0  y4
3.0  y5

のときC1に
 =IF(MOD(A1*10,10)=0,1,0)
と入力して、それを下までコピーすれば整数の行は1になります。オートフィルタで1の行のみ抽出し、コピー&ペーストすれば求められると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
確かにこういう方法がありますね。
いつもながら自分の観点の鈍さに辟易してしまいます。
くれぐれもありがとうございました。

お礼日時:2006/07/08 00:09

セルの書式設定でできませんか?


おそらく四捨五入だと思いますが
    • good
    • 0

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