[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『0.1の倍数の値だけを選ぶ(かえす)方法を教えて下さい。』(TamTam)
お世話になります。
下記の様な値が約7000あります。
この中から、0.1の倍数(0.1、0.2、0.3、0.4…)の値だけ選ぶ(かえす)方法を教えて下さい。
この場合、0.1の時、値は68.000で0.2は65.250を選ぶ方法です。
EXCELは初心者の為、マクロのやり方も良く分かりません。
関数でもマクロでも初心者でも分かる方法があれば教えて下さい。
宜しくお願い致します。
0.000 70.250
0.005 70.250
0.010 70.250
0.015 70.250
0.020 70.250
0.025 70.250
0.030 70.250
0.035 70.250
0.040 69.250
0.045 69.250
0.050 69.250
0.055 69.250
0.060 69.250
0.065 69.250
0.070 69.250
0.075 69.250
0.080 68.000
0.085 68.000
0.090 68.000
0.095 68.000
0.100 68.000
0.105 68.000
0.110 67.250
0.115 67.250
0.120 67.250
0.125 67.250
0.130 67.250
0.135 67.250
0.140 67.250
0.145 67.250
0.150 66.750
0.155 66.750
0.160 66.750
0.165 66.750
0.170 66.750
0.175 66.750
0.180 66.750
0.185 66.750
0.190 65.250
0.195 65.250
0.200 65.250
0.205 65.250
0.210 65.250
0.215 65.250
0.220 64.500
0.225 64.500
0.230 64.500
0.235 64.500
0.240 64.500
0.245 64.500
0.250 64.000
< 使用 Excel:Excel2013、使用 OS:Windows7 >
(あらくま) 2016/10/27(木) 22:55
ご教示ありがとうございます。
上記のように、A列(0.000や0.290という値)、B列(70.250や62.750という値)とし、C1セルに=IF(A1=0,"",(MOD(A1*10,1)=0,B1,""))を入力してみましたが、エラーとなりました。
どこが間違っているのでしょうか?
また、この方法だと必要な値(68.000、65.250、62.750)だけをC列に表示する事が出来るのでしょうか?
必要な値のみ別の列に選び、それをそのまま使用したいです。
可能でしょうか?
(TamTam) 2016/10/28(金) 08:35
> =IF(A1=0,"",(MOD(A1*10,1)=0,B1,""))
IFがない。
=IF(A1=0,"",IF(MOD(A1*10,1)=0,B1,"")) (GobGob) 2016/10/28(金) 09:09
=IFERROR(INDEX(B$1:B$100,SMALL(IF((MOD(A$1:A$100*10,1)=0)*(A$1:A$100<>""),ROW(A$1:A$100),""),ROW(A1))),"") と入力してShiftキーとCtrlキーを押しながらEnterキーで式を確定(確定後、式が{}で囲まれればOK)、その後下へフィルコピーではどうか? (ねむねむ) 2016/10/28(金) 09:16
ご教示ありがとうございます。
やってみましたが、結果の値がとびとびでした。
これに追加でC列にまとめて解を出す方法はありますか?
ねむねむさん
ご教示ありがとうございます。
やってみましたが、答えが4つ(68、65.25、62.75、60.5)だけで、後は空白になっておりました。
言葉足らずですみません。
結果は、下記の様に表示して欲しいです。
C列に0.1、0.2、0.3、0.4…と下に続けて。
D列に68.000、65.25、60.5、62.75、60.500…と下に続けて。
結果表示後、使用するのはC列とD列です。
このような表示方法は可能でしょうか?
もしあればご教示宜しくお願い致します。
(TamTam) 2016/10/28(金) 09:50
C1セルに =ROW(A1)/10 と入力して下へフィルコピー
D1セルに =VLOOKUP(D1,A:B,2) と入力して下へフィルコピーではどうか?
なお、 >答えが4つ(68、65.25、62.75、60.5)だけで、後は空白になっておりました。 については私の式ではデータ行数を1行目から100行目としているのでもっと行数がある場合はその行数までとしてくれ。 (できれば式の意味を把握して自分の環境に当てはめてくれるとうれしいが) (ねむねむ) 2016/10/28(金) 10:00
Dim sht As Worksheet, rg As Range, c As Range Set sht = ActiveSheet Sheets.Add after:=ActiveSheet sht.Cells.Copy ActiveSheet.Range("A1") Set rg = ActiveSheet.Range("C1") For Each c In ActiveSheet.UsedRange.Range("A:A").SpecialCells(xlCellTypeConstants) If c.Value * 10 = Int(c.Value * 10) And c.Value > 0 Then rg.Value = c.Value rg.Offset(, 1).Value = c.Offset(, 1).Value Set rg = rg.Offset(1) End If Next c End Sub (mm) 2016/10/28(金) 10:09
ご教示ありがとうございます。
良く理解出来てなくてすみませんでした。
mmさん
ご教示ありがとうございます。
無事出来ました。
助かりました。
___________________________________________________________________________________________
今回ご教示頂いた皆様、本当にありがとうございました。
これでスムーズに作業出来ます。
(TamTam) 2016/10/28(金) 10:42
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.