MS Excelのデータ範囲から特定の数値のみを抽出する方法


-1

私は数値とアルファベットの値が混在して存在するa1:a100と言うデータの範囲を持っています。

a1:a100の範囲から、1より大きく10000000未満(つまり、1から10000000の間)の数値のみを抽出して、列bに挿入する必要があります。

エクセルシートのスナップショットを添付しております。

http://i.imgur.com/5qvEdi1.png

私はB1でこの配列の式を使用しようとしましたが、これは私が欲しいように働いていません -

 =IFERROR(INDEX(A5:A100, SMALL( IF(A1:A100>0, ROW()-0, ""), ROW()-0) ), "")

1
ので、予めご了承くださいスーパーユーザースクリプトの書き込みサービスではありません。これまでに試したこと(使用しているスクリプトを含む)と行き詰まった場所を教えていただければ、特定の問題を解決することを試みることができます。また、良い質問をするにはどうすればよいですか。
DavidPostill

回答:


0

VBAを使用しても問題ない場合は、次のようにします。

Alt+を押しF11、ダブルクリックThisWorkbookして次のコードを貼り付けます。

Sub values()

Dim c As Range
i = 1

For Each c In ActiveSheet.Range("A1:A100")
    If IsNumeric(c) And c >= 1 And c <= 10000000 Then
        Cells(i, 2).Value = c
        i = i + 1
    End If
Next c

End Sub

あなたの番号でシートに戻り、Alt+ F8を押してマクロを実行してください。

私はこれをテストしなかったので最初にバックアップを作成してください。


ありがとう親愛なるDivin3 ..あなたが提案するコードはうまく働いています。しかし、私はvbaコードの代わりにいくつかの式を使いたいです。だから私はあなたに私にこの目的のためのある方式を提案するように要求する。私はこの式を使用しようとしましたが、これは私が望むように働いていません。
user588128

式はthis- = IFERROR(INDEX(A5:A100、小さい(IF(A1:A100> 0、ROW() - 0、 "")、ROW() - 0))、 "")
user588128

@ Divin3様、どうもありがとうございました。
user588128

@ user588128 - すみませんが、数式が苦手です。私はあなたがあなたの質問を編集し、あなたが試みた式を含めそしてあなたが式でそれを解決したいと指定することを勧めます。それがトピックに関するあなたの質問をするでしょう、そして、人々はあなたがそれを直すのを手伝うでしょう。
Divin3

@ user588128 - ここでの規則はかなり厳格です。あなたは「私はこれをやりたい」と尋ねることはできず、他の人があなたのためにそれをすることを期待することはできません。しかし、あなたは「私はこれを試したがうまくいかない」と尋ねることができます。
Divin 3
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.