• 締切済み

小数点以下2桁ある数字の列削除

この1個前で質問させて頂きましたが、上手く伝わりませんでしたので、今1度説明させて頂きます。 0~6000秒間で、タンク内にガスを注入し続けて、圧力の変化を観察しました。 ※圧力の変化については、ここが本題では無いので無視して下さい。 時間は、0秒▶︎0.01秒▶︎0.02秒▶︎0.03秒…と順々にカウントして、6000秒まで測定を行いました。 測定データをExcelのA行に時間(秒)、B行に圧力値を記入しまとめました。 そこから、グラフを作っていくのですが、ちょっとExcelを触ろうとするならば、フリーズしてしまいます。 そこで、時間の数値で、小数点以下2桁を持っている数字は全て削除したいです。 例)0.01、20.59、300.45、1000.67等を消去。0.1、10.2、300.5、100.1は残したい。 です。 一気に整理する方法を教えて下さい。

みんなの回答

  • SI299792
  • ベストアンサー率48% (726/1508)
回答No.9

画像の様に、必ず元データが0.01刻みと仮定して、 K2: =INDEX(B:B,ROW()*10-18) R2迄コピペ。 纏めて、K60001迄コピペ。 (実データによって調整が必要なので、実データがどのように入っているか上げて下さい) 小数第2位の有無が不規則な場合は、 https://okwave.jp/qa/q10145626.html にあげた式をご利用ください。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1643/2493)
回答No.8

No.1の方法で、フィルターかけて削除だと時間がかかるかもなので、逆に必要なデータでフィルターかけて、そのデータを新しいブックにコピペするほうが早いでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.7

6000秒、秒あたり100レコードであれば、 600000レコードあることになりますね。 このレコード数のデータをエクセルのシート上で処理することが 少々無謀に思えます。 私だったら、課題シートのデータをCSVファイルに保存し シートを使わず、VBAの順処理で対応します。 よかったら試してみてください。 (それともVBAを使わない解を求めていますか?) 手順: 課題シートを "C:\work\元データ.csv" の名前で、CSV(コンマ区切り)(*.csv)を指定して保存します。 適当なマクロブックを用意し、後記マクロを実行します。 なお、以下が前提です。 ・チェックする時間(2.23、100.21)といった値の埋まった列はA列 ・この埋まった値は、単なる小数値(日付や時刻シリアル値ではない) ・1行目にタイトル行がある ・環境依存文字を使っていない 前提が異なるようならコメントしてください。 また、課題列がNull、あるいは、数値以外がセットされている場合 エラーを表示し、出力対象にしています。 Option Explicit Sub Sample()  Dim TextLine  Dim s '各レコードを分解した配列  Dim i As Long '入力側レコード番号    Open "C:\work\元データ.csv" For Input As #1  Open "C:\work\先データ.csv" For Output As #2  On Error GoTo ErrLabel    i = 0  Do While Not EOF(1)   i = i + 1   Line Input #1, TextLine   If i = 1 Then    Print #2, TextLine   Else    s = Split(TextLine, ",")    If Int(Val(s(0) * 100)) Mod 10 = 0 Then     Print #2, TextLine    End If   End If    Loop    Close #1  Close #2 Exit Sub ErrLabel:  MsgBox "値異常 レコード番号:" & i  Resume Next End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1643/2493)
回答No.6

> この1個前で質問させて頂きましたが、上手く伝わりませんでした > そこで、時間の数値で、小数点以下2桁を持っている数字は全て削除したいです。 前回の回答でも 小数点下2桁を含む数値のセルがある行だけが表示されますので その後、表示されている行だけを削除します。 と回答に記載していたのに、伝わってないと思ったのは何故なんでしょうね。 伝わっていなかったとしたら、何が伝わっていなかったのか今回の質問でもわかりません。 それとも、質問者は最後の回答しか見ていないとか?

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

前の質問では、写真だけ挙げて文章での説明がないので、判りにくかった。回答が無駄になった。 前の質問の締めきりやお礼は書いたのか。それがマナーのようだ。 ーー 文章にすれば「A列の数値が、小数点以下2桁以上の数字のあるセルの行は削除したい」かな。 ーー 「小数点以下2桁以上の数字があるセル」を関数で判定すると 同行の空きセルに=IF(A1-INT(A1*10)/10<>0,"a","") で該当の行は「a」となる。 (テストは、その列の表示形式は数値とし、小数点以下3桁以上に設定のこと) ーーー この式 =A1-INT(A1*10)/10<>0 を使って「条件付き書式」を設定し、該当行を削除してはどうか。 VBAでやれば簡単だが、お呼びじゃないだろう。 行削除して、その分で行的に、繰り上げる必要があるのだろう。 例えば、セルの「a」の値の行は削除して、非該当は他セル範囲に出す、関数による方法は。WEBに載っているが、それらの例と全く同じではないはずで、質問者には理解・修正が難しいだろう。 だから操作でやるのを勧める。 判別は関数でやるとしても、行削除のセル(範囲)の選択は、人間の目による判定で手動操作(CTRLキーを押しながら)マウスでクリックをすることを勧める。他では時間が掛かるばかりだろうから。

全文を見る
すると、全ての回答が全文表示されます。
  • msMike
  • ベストアンサー率20% (363/1781)
回答No.4

確認させてください。 》 …を持っている数字は全て削除したい… 削除するのは該当セルだけを空白にする、ということですか? 該当するセルを含む行全体を削除する、ということですか?

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1643/2493)
回答No.3

前回の画像ではB列でしたので説明はB列としてますが、A列なら A列選択でB1をA1に、VBAのコードでは”B"を"A"に変更してください。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1643/2493)
回答No.2

VBA(マクロ)でしたら Sub Test() Dim i As Long Dim LastRow As Long LastRow = Cells(Rows.Count, "B").End(xlUp).Row For i = LastRow To 1 Step -1 If Len(Format(Abs(Cells(i, "B").Value) - Abs(Fix(Cells(i, "B").Value)), "0.###")) > 3 Then Rows(i).Delete End If Next End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1643/2493)
回答No.1

前回の回答に何の反応もありませんが 以下の方法では駄目だったという事ですか これを条件付き書式で B列をB1から全て選択した状態で 数式で マイナスがある場合 =LEN(TEXT(MOD(ABS(B1), 1),"0.###"))>3 マイナスが100%無い場合は以下で =LEN(TEXT(MOD(B1, 1),"0.###"))>3 MOD関数で何かおかしかった場合 元の数値から整数部分を引いて小数部分を取り出すパターンに変更してみてください。 =LEN(TEXT(ABS(B1-TRUNC(B1)),"0.###"))>3 マイナスが100%無い場合は以下で =LEN(TEXT(B1-TRUNC(B1),"0.###"))>3 としてセルの色を適当に決めます。 条件付き書式で特定の文字列を含む行を色付けするには? https://excel-plus.jp/2016/07/02/8070 この時点で小数点下2桁を含む数値のセルに色が付きますので、セルの色でフィルターをかけます。 指定した色でフィルタ(抽出)するには http://www.excel-img.com/database03.html 小数点下2桁を含む数値のセルがある行だけが表示されますので その後、表示されている行だけを削除します。 Excelでフィルタで抽出したデータだけを残す/削除する http://sasayakanaon.blog.fc2.com/blog-entry-9.html

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 再生時間を小数点2桁まで表示してくれるプレーヤー

    普通のプレーヤーは現在の再生時間を何分何秒といった形で、小数点は表示してくれないものが多いですよね。 できれば小数点2桁まで表示してくれるフリーソフトはないでしょうか? たとえば1分2.34秒(62.34秒でも可)といった感じです。 なければ小数点一桁でもかまいません。 再生形式は普通のWAVEができればOKです。 ご教示よろしくお願いします。

  • エクセル2007での小数点以下の表示について

    エクセル2007を使用しています。 ある列のセル内に表示された数字の小数点以下において0が出る手前まで表示したいのです。 ちなみにセルにはなんらかの規則性のある式を列の1~2行目で入れておくことにします。 以下の行はそれをコピーして同じ規則性で自動的に入力してあります。 簡単に言うと「C1=1 C2=1 C3=C1+C2」とかしてC4以下にコピー等という意味です。 つまり直接数字を入力するのは序盤の数行のみということです。 その後の行は前述した一定の規則性のあるように設定したコピペです。 で、問題の箇所ですが例えば 1.62,1.93,1.9413・・・ と縦の列に表示したいのに 1.6、1.9、1.9・・・ となったりします。 そこでセルの書式設定の「分類」で「数値」を選び小数点以下何桁まで入れるか手動で設定してみましたが、直接数字を入力しないので、どの数値がどのくらいの小数点以下まで表示できるか分からないものですから、例えば小数点以下3桁まで任意に設定すると、上の例において 1.620,1.930,1.941・・・ となり末尾の0が表示されたり、全部表示し切れなかったりします。 エクセル側で自動的に小数点以下は0の手前までのみに合わせてくれる方法はあるのでしょうか。 それとも自分で見当をつけて設定しないといけないのでしょうか・・・。 よろしくお願いします。

  • 整数行を残し小数点の行を削除するには?

    エクセルで整数行を選びそれ以外を削除することが出来ますか? C列に測定時間があり、整数秒のみ取り出すマクロを作成しようとしているのですが、わかりません。 教えていただきたいのです。詳しい方よろしくお願いします。

  • エクセルで小数点を表示したい

       A    B     C 1 コード データ  結果 2   1   1000   1000 3   2   1000   100.0 4   3   1000   10.00 5   4   1000   1.000 エクセルで上記のような結果が得られる計算をしたいです。 コードを参照し、 1ならばそのまま表示 2ならばデータを10で割り小数点以下を1桁表示 3ならばデータを100で割り小数点以下を2桁表示 4ならばデータを1000で割り小数点以下を3桁表示 結果の列に =IF(A2=1,B2,IF(A2=2,B2/10,IF(A2=3,B2/100,IF(A2=4,B2/1000)))) という数式を入れたのですが、小数点以下が100.0の筈が 100等と整数として表示されてしまいます。 表のように表示させるにはどこに手を加えたら良いのか どなたかお教え頂けませんでしょうか?

  • 「小数点以下2桁」と「小数点2桁」

    「小数点以下2桁」と「小数点2桁」 「小数点以下2桁」という表現は正しいかと思うのですが、 同じ意味で「小数点2桁」という記載は正しいのでしょうか? できれば、出展を添えてご教示頂ければ幸いです。

  • 変動騒音の測定と累積度数分布曲線

    変動騒音の測定方法では、「累積度数分布曲線の5%(90%レンジの上端値)」というL05が使用されていますが、これの意味がよく分からないので、質問します。 つまり、ネットなどで調べると、L05について、「5秒毎に50個くらいの値を読み取り、累積度数曲線を書いて求める」とあります。 そこで、質問なのですが、なぜ、「5秒毎に50個くらいの値を読み取り・・・」となっているのでしょうか? つまり、なぜ「5秒毎に」なのでしょうか? 「1秒毎に50個くらいの値を読み取り」とか、「0.5秒毎に50個くらいの値を読み取り」とか、「0.1秒毎に50個くらいの値を読み取り」ではいけないのでしょうか? また、なぜ、、「5秒毎に50個くらいの値を読み取り」(測定時間は5秒×50回=250秒間)となっているのでしょうか? つまり、なぜ「50個」なのでしょうか? 「1秒毎に100個の値を読み取り」(測定時間は1秒×100回=100秒間)とか、「1秒毎に500個の値を読み取り」(測定時間は1秒×500回=500秒間)とか、「1秒毎に1000個くらいの値を読み取り」(測定時間は1秒×1000回=1000秒間)ではいけないのでしょうか?

  • 不規則な曲線の連続微分を計算するソフト

    式で表すことができない曲線、例えば (0,0),(1,0.5),(2,1.5),(3,3),(4,6),(5,6),(6,4),(7,4),(8,5),(9,8) というようなものがあったとします。これらを結んだ際の線を、微分するソフトウェアはありますか??なお、x軸で0から9まで微分曲線を引くものです。 上の表現が正しいのか分からないので補足しますと、今、自分は圧力を時間で測定する機械を使用しております。0.25秒毎に一度圧力を測定し、その計測結果をエクセル上に自動で記録し、秒をx軸、圧力をy軸で取っています。 自分はこの測定結果の曲線を微分することで1秒あたりの圧力の変化を連続的に出したいのです。文献でやはり同じようなことをしている人が居て、そこではこの不規則なグラフを2次微分まで行っていました。自動解析ソフトを用いたようですが、どれを使ったかは秘密ということです。 1次、2次微分ともに、心電図のようにY=0をベースラインとして、圧力変化の大きいところで上下に線が出るような波形でした。これは手計算でグラフを書くと同様になるので納得なのですが、自動で出来ないかと。 以上です。長くなってしまいましたが、どうかご教示ねがいます。

  • excelで、ある条件に対し正なら行を削除したい

    Excelを用いてグラフを作成したいと思っています。 しかし、データ量が多く、グラフが読みにくくなるため、 間引きをおこなうことにしました。 間引く際に一つ一つけしていくととても時間がかかるので マクロを作りたいと思ってます。 しかしはじめてマクロを作るため、調べてもよくわからなかったので 教えていただきたく思います。 データは一秒感覚で測定したデータが三万行ほどになっています。 それを三十秒感覚に間引いてグラフにしたいと思っています。 シートにはこのように記述しています 時間 |測定結果 12:34:56|○○ 12:34:57|○○ : 時間の欄の下二桁が00と30のとき以外の行を削除したいです。 一部分の判断が難しいようなら、一番左に列を挿入し、 00、01、02と秒数のとこだけ書き出し、それを用いて判断するのもいいかなと 思っています。 マクロに詳しい方いましたら、どのようにして組んだらいいか教えてください。 お願い致します。

  • 小数点以下二桁まで求める?

    小数点以下二桁までの後に、どの動詞を使ったらいいでしょうか? 言いたいのは、小数点以下二桁まで四捨五入で計算すること。 求める?丸める?それとも、ほかの動詞? 日本語学習者です。 よろしくお願いいたします。

  • 桁を減らす(小数点以下ではなく)

    例えば123,456という数字を 123と桁を減らして表示するにはどうしたらよいのでしょうか? 123456円を123千円と表記するような意味です。

このQ&Aのポイント
  • スーパーの商品棚には「防犯カメラ設置済み!万引きを発見次第警察に通報します」という張り紙があり、圧迫感を感じる。
  • 以前から百円ショップや古本屋での釣り銭の誤魔化しや、ホームセンターでのスリがあったが、最近は店員だけでなく客側も危険になってきている。
  • 空き巣や泥棒、喧嘩や事故死、自殺などの事件がある田舎の港町は、コロナの影響で荒んできた。
回答を見る

専門家に質問してみよう