• ベストアンサー

先頭のとなりの数字のみ抽出

下のような段が1000段くらいあります。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー  TRUE 9←を抽出したい  TRUE 2  TRUE 3  FALSE 4  FALSE 4  TRIE 6←を抽出したい TRUE 3  FALSE 2 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー このようにセルに数字とTRUEとFALSEが入力してあるのですが 連続して並んだ最初のTRUEの隣の数字のみ(上の例の「←を抽出したい」の数字)抽出しなければいけません。 こんなケースの場合に役に立ちそうな関数か手法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

A列にTRUEやFALSEがあってB列に数値があるのでしたらC1セルに次の式を入力して下方にオートフィルドラッグします。 =IF(AND(A1="TRUE",A2="TRUE"),B1,"") TRUE9などと数値と一体でA列にあるとしたらB列に次の式を入力して下方にオートフィルドラッグします。 =IF(AND(LEFT(A1,4)="TRUE",LEFT(A1,4)=LEFT(A2,4)),RIGHT(A1,LEN(A1)-4),"")

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

その他の回答 (6)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.7

No2です TRUEの隣の数字のみというのを見逃していました If Range("A" & i).Value = Range("A" & i + 1) And flg = False Then のところを If Range("A" & i).Value = Range("A" & i + 1) And Range("A" & i) = True And flg = False Then もしくは(TRUEが文字列として入っている場合) If Range("A" & i).Value = Range("A" & i + 1) And Range("A" & i) = "TRUE" And flg = False Then に変更してください。

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

No3,5です。御免なさい修正すべきところを間違えなした。 ただしくは >B2セルに =RIGHT(TRIM(A1),1) →B1セルに =RIGHT(TRIM(A1),1) >B3セルに  =IF(AND(LEFT(TRIM(A1),2)="FA",LEFT(TRIM(A2),2)="TR"),RIGHT(TRIM(A2),1),"") →B2セルに  >B4セル以降は必要分だけコピー B3セル以降は必要分だけコピー 重ね重ね失礼しました。

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

No3です。 ミスプリをしました。 >エクセルであり、A1からデータが質問の表記通りに数値まで →エクセルであり、A2からデータが質問の表記通りに数値まで に変更してください。

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

解答No1です。 2行目からデータがあるとして次のように式を変えてください。 A列にTRUEやFALSEがあってB列に数値があるのでしたらC2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(AND(A1<>"TRUE",A2="TRUE",A3="TRUE"),B2,"") TRUE9などと数値と一体でA列にあるとしたらB列に次の式を入力して下方にオートフィルドラッグします。 =IF(AND(LEFT(A1,4)<>"TRUE",LEFT(A2,4)="TRUE",LEFT(A2,4)=LEFT(A3,4)),RIGHT(A2,LEN(A2)-4),"")

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

単純なミスプリでしょうか? それとも相当な罠を張った質問でしょうか?(だとしたら悪質) 1.エクセルと考えてよいのでしょうか? 2.”TRUE 9”というのは1つのセルに文字として記載されて  いるのでしょうか、それとも列が分かれているのでしょうか? 3.先頭にブランクがあったり、なかったり   文字と数字の間にブランクがあったりなかったり 4.>TRIE 6←を抽出したい  この部分は他はTRUEとなっているのにここだけ違います。 てなところで エクセルであり、A1からデータが質問の表記通りに数値まで 文字列で1つのセルに入っているものと仮定して次のように なります。 B2セルに =RIGHT(TRIM(A1),1) B3セルに  =IF(AND(LEFT(TRIM(A1),2)="FA",LEFT(TRIM(A2),2)="TR"),RIGHT(TRIM(A2),1),"") B4セル以降は必要分だけコピー 以上

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

Sub test() Dim i Dim flg As Boolean flg = False For i = 1 To Range("A" & Rows.Count).End(xlUp).Row If Range("A" & i).Value = Range("A" & i + 1) And flg = False Then Range("C" & i).Value = Range("B" & i).Value flg = True Else Range("C" & i).Value = "" If Range("A" & i).Value <> Range("A" & i + 1) Then flg = False End If End If Next i End Sub というマクロでいかがでしょう

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

関連するQ&A

  • エクセルで数字が入ったセルの値を抽出

    任意1行中のある1列にFALSEと1列だけ数字が入っています(下図参照)。その数字を抽出する関数があれば教えて下さい。 下図の例では、Fの列にB2:E2の範囲の数字「10」を抽出したいのです。マクロを組めば可能なのですが、セルに入力する関数等で簡単に実現できればと思います。 アドバイス宜しくお願いします。

  • EXCELでの抽出について

    セルに数字を入力したものから、指定の数字を含むセルを抽出する方法を教えてください。 オートフィルのオプションで試してもうまくいきません。 例:123、234、345、456 の数字それぞれのセルで、うち下1けた3と5を抽出したい場合→123、345が抽出される また、よい関数があるのでしょうか。 教えてください。

  • エクセルで指定した数字以下の数字を抽出して抜き出す

    エクセルで指定した数字以下の数字を抽出して抜き出したいです 例としては A列 B列 いぬ 1 ねこ 2 うし 3 とら 1 はと 2 この表から空いているセルに任意の数字を入力して それ以下の数字を別のセルに抽出したいです たとえば2を入力したら いぬ 1 ねこ 2 とら 1 はと 2 このような結果を別のセルに抽出したいです オートフィルターとマクロは使わない方向でお願いします 似たような質問としては下のURLでしたが http://okwave.jp/qa/q3200952.html?from=recommend これでは指定した数字と同じものしか抽出出来なかったので質問させていただきました

  • エクセルでセルの数字をとなりのセルでかっこ”( )”で囲いたい。

    エクセル2003を使用しているのですが、 セルに数字が入力されていてそのとなりのセルにその数字をカッコ( )で囲う方法がわかりません。 例  A1 B1  4 (4) このような関数(または方法)はあるのでしょうか。 ちなみにカッコで囲んだ数字は別の関数に用いたいので、表示形式などではなく、実際にカッコで囲う方法を探しています。 どなたかわかる方ご教授下さい。 よろしくお願いします。

  • 表の中でもっとも多く使用されている文字(数字)を抽出するには

     |A|B|C|D| -------------- 1|あ|い|う|え| -------------- 2|お|あ|あ|か| -------------- 上記は1行目に左から「あ」「い」「う」「え」が入力されていることを表しています。 この表の中から、一番多く入力されている文字だけを別のセルに抽出させるにはどのようにしたら良いでしょうか。 上記の例を使用すると、A列の5行目(任意のセル)に「あ」と抽出するようにしたいです。 いろいろと調べてみましたが、このように表の中で最も多く入力されている、「文字」または「数字」だけを抽出するという処理方法がみつかりませんでした。 マクロなら可能でしょうか? このような処理ができる関数もなさそうなので、無理なのかな。 アドバイスを御願い致します。

  • Excel のセル内の数字抽出

    セルの中にランダムの数字が入っている状態から、共通する数字を抽出する方法を教えてください。 例    A  B   C  D  E   F  G  H   I 1 228 236 246 258 241 452 785 453 741 2 478 247 236 159 147 236 478 345 236 3 222 223 445 160 401 305 360 236 474 この様な数字が1つのセルの中に入力されていて 1、236という数字がこの表の中にいくつ存在するかを抽出する方法。 2、各行・列を参照して共通する236を抽出する方法。 以上2点についてお願いいたします。

  • 数字の抽出

    エクセル初心者です。会社のデータ内から数字を抽出し、ひとつのコードを作成しなくてはいけません。 1つのセルに数字が1つ、それが横に5つあります。 一番左の数字を頭において、その後にゼロをいれ三桁のコードを作りたいのです。 (例)1 3 0 0 0  → 103    1 0 0 4 0  → 104    1 1 1 0 0  → 111    1 0 0 0 5  → 105 質問がわかりづらいかもしれませんが、お分かりになる方教えていただけないでしょうか?   

  • エクセルでセル内の数字を抽出する方法を教えていただきたいです

    セル内の数字の下2桁だけを別のセルに移したいのですが…関数等で可能なのでしょうか? 大量のデータで行いたいので困っています。。ご教授下さい。。 例:「13246」→「46」

  • 入力された数字から条件に合う数字を抽出する方法

    どなたかご存じでしたらご回答をよろしくお願いします。 【質問】  (1)に1~43迄の数字のうち、好きな数字を7つ入力する(重複無し)と、  選択数字範囲の1~43から、(2)の条件(入力数字の±1の数字)に該当する数字を  取得して表示する。また、(3)の条件(入力数字と下1桁が同じ数字)に該当する数字  を取得して表示する。にはどうやればよいですか? 【例】  (1)入力数字(セル:A1~A7)  08 24 28 30 38 41 32 (2)入力数字の±1の数字。(セル:A3~Z3に左から昇順で並べる。)  07 09 23 25 27 29 31 33 37 39 40 42 (3)入力数字と下1桁が同じ数字。(セル:A5~Z5に左から昇順で並べる。)  01 02 04 10 11 12 14 18 20 21 22 34 ■選択数字範囲:1~43。(セル:A7~A49) 【注意事項】  ・使用するエクセルは2010です。  ・選択数字範囲は1~43です。  ・例 (1),(2),(3)に出てくる数字は文字表現していますが、実際には数値です。 以上、よろしくお願いします。

  • セル内からの数字の抽出

    複数のセルがあり、そのセルそれぞれに、 「(文字列A)(数字1) (文字列B)(数字2)」 と入力してあります。(文字列A)と(文字列B)は、定型文字列なので、複数のセルがありますが、同じ文字列が入っています。 一方で、(数字1)(数字2)は、それぞれのセルによって、異なった数字が入っています。 ただし、セルによっては、(文字列A)(数字1)は、入力していないものもあります。 このようなセルが複数ある中から、(数字1)だけを抽出して、セル内に「(数字1)」だけの列を作りたいのですが、何かよい方法はないでしょうか?よろしくお願いします。

専門家に質問してみよう