- 締切済み
エクセルで同種の文字列の抽出をしたい
ランダムに並んだ数字(1~9)が11個有ります。 例えば 61578293357 という具合です。 一方 エクセルのシート1に 同じようにランダムに膨大な数字が並んでいます。 C8からIU5000までです。 この膨大な数字群の任意の範囲から 例えば「H8~R5000」の範囲から 上記の6157829335と同じ数字の並びをシート2に抽出したいのですが どのようにすればできますか? 当方 関数などにも疎いPC初心者ですので できるだけ分りやすくご教示をお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
#2です。 もうひとつ確認させてください 検索の条件ですが、 同一行の右方向 でよろしいのでしょうか? C8が基点の場合、 C8:J8が、該当数字 D8が基点の場合、 D8:K8が、該当数字 であるということ。 要するに、IO列が基点にならない (右方向に8文字取れないから) ということでしょうか?
出社前なので取り急ぎ回答します。 仕様は分かりました。 1.11個の数字は その都度 シート上の任意の箇所を移動させます。 --この数字は、場所が固定されていないと出来ません。 セルを固定できませんか。 3.任意の範囲は その都度 自由に決めています。 --こちらも、範囲を固定できないと出来ません。 ----------- マクロを使うにせよ、1.や3.が変化されてしまうと、 その都度マクロを変更しなければなりません。 たとえば、1.や3.の情報がどこかのセル (A1とB1とかに)に書いてあれば何とかなりそうですが、 やはり、固定されていないと、実現は無理ですね。 範囲を多めに取るとかで対応(固定に)できないのですか?
お礼
再度のご回答 ありがとうございます。 1.「セルを固定できませんか」 もし 目的が実現できるのなら 固定しても構いません。 3.「こちらも、範囲を固定できないと出来ません。」 後で思ったのですが 「任意の範囲」を「シート1全体」としてはどうでしょうか?そうすれば 範囲は「シート1全体(具体的にはC8からIU5000まで)」となって結果的に範囲は固定されます。 以上を踏まえて お伺いしたいのですが次のようなことはできますか? △8個(11個では不都合が生じますので8個にします)の数字から為る数列をシート上に固定する。 △そして シート1の全体(実際はC8からIU5000まで)を検索対象として 8個の数字から為る数列と同じ数列を含む行を全てシート2に抽出する。 要は「8個の数字がランダムに並んだ数列と同じ数列を含む行を抽出する」ということですので この目的が達成できるのなら 様々な設定はh2006401さんでご自由になさって構いません。どうか宜しくお願いいたします。
補足要求 1.ランダムに並んだ数字(1~9)が11個有ります。 --どこに有るのですか シート上のセルですか セルとしたら、どのセルですか 2.ランダムに膨大な数字が並んでいます。 C8からIU5000までです。 --1つのセルには、数字は一桁ですか 3.任意の範囲から 任意の範囲は、どのように指定されているのですか また、どのように指定するのですか 4.シート2に抽出したいの 抽出するのは、どんな情報ですか。 また、どのセルに何を抽出するのですか おそらく、11あるランダム数値があるセルの位置を調べたいのだと思うのですが、セル1つに1桁の数値だと、結構検索は大変だと思います。(出来ないことは無いと思うけど)
お礼
ご回答 ありがとうございます。補足質問にお答えします。 1.11個の数字は その都度 シート上の任意の箇所を移動させます。 2.一つのセルに数字は1個だけ入っています。ですから11個の数字は11個のセルに入っています。 3.任意の範囲は その都度 自由に決めています。 4.シート2に抽出する情報は「11個の数字と同じ並びの数列が含まれるセルの位置と そのセルを含む行の行番号」です。これをシート2のA3以下に抽出したいのです。 これでは分りにくいと思いますので 私が現在 行っている作業を可能な限り詳細に述べて 何をしたいのかを理解して頂きたいと思います。 1.シート1のC8からIU5000まで ランダムの数字の列が並んでいます。 2.そのシート1の6行目の任意の範囲に11個の数字を貼り付けます。例えばL6~V6にです。 3.その11個の数字の下の行 つまり7行目にオートフィルタを付けます。 4.オートフィルタで 11個の数字と同じ数字をクリックして その同じ数字の含まれる行を抽出します。 5.11個の数字について 順次 この作業を繰り返します。 6.すると 最終的に 11個の数字と同じ数列を含む行が残ります。 7.この行を抽出するのが目的です。 現在は この作業を 「手作業」でやっています。これを関数などで 自動的に抽出することができないか・・・という訳です。 但し 時には 11個の全部の数字についてこの作業を行うまえの段階 例えば 9個までの数字の段階で行が尽きてしまうことがあります。 ですから この「11個」というのは「8個」または「9個」にしたほうがいいかと思いますので そのようにお考え下さい。 なにやら 分りにくい質問で恐縮ですが 上記に述べた作業を 「オートフィルタを使っての繰り返し作業」でではなく もっと簡単にできないか・・・という訳です。「おそらく、11あるランダム数値があるセルの位置を調べたいのだと思うのですが・・・」との末尾のコメントは まさにその通りです。それを関数などでできないか・・・ということです。宜しくお願い致します。補足質問はご遠慮なくどうぞ。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
同じ数字ならば、抽出する必要は無いのでは、 件数をカウントするだけなら =COUNTIF(Sheet1!H8:R5000,61578293357) で件数はわかります。
お礼
ご回答 ありがとうございます。 件数ではなく その数列を含む行とセルの位置を知りたいのです。 数字が一つのセルに入っていればCOUNTIF関数で重複セルを見つけられるようですが この場合 一つのセルに一個の数字 つまり11個の数字は11個のセルに入っていますのでCOUNTIF関数は使えないのです。 何か いい方法があれば・・・と思っているのですが・・・。
お礼
ご回答 ありがとうございます。 検索条件は 同一行の右方向で結構です。 ですから 仰られる通り 基点になれるのはIN列までということになります。 PC初心者ですので エクセルについても 何とか基本的な作表はできるものの さまざまな設定などには疎いです。#2さんが「これなら こうした方がいいんじゃないか。」とか「それなら この方がいい。」とか そうしたことがお有りでしたら 是非 そうした方向でやって頂きたいとおもいます。以前の補足回答でも述べましたように「8個の数列と同じ数列の位置」を割り出すのが目的です。その行番号も併せて分ればありがたいです。