• ベストアンサー

EXCELで検索して整理(1列から複数列へ)

元のデータは1列に、店名、住所、その他情報が載っています。 それを、列ごとに、店名、住所として、さらに特定の情報(文字列)が入っている場合のみ追加して、あとは削除します。 画像をご参照ください。ここでは、店情報として仮に「情報2」という文字列があれば、その店の住所の次の列に「情報2」を加えます。情報の数は5つ程度あり、各情報は店により記載されているものとないものがあります。その中で情報2が含まれていたらそれを追記します。 店の数は膨大なので、どのように操作すれば楽に実行できるでしょうか。 EXCELは2010です。 よろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

1つの店に同じデータ数のデータセットがあるなら簡単に希望のデータを表示できますが、それ以外の場合は、たとえば店のセルには必ず「店」という文字が最後についているなどという基準がないと抽出することができません。 たとえば店のセルには必ず文末に「店」の文字が含まれているなら、以下のような数式で店名と住所を表示できます。 C1セルに以下の式を入力して右方向に1つ下方向にデータ数分だけオートフィルしてください。 =IF(ISNUMBER(FIND("店",$A1)),OFFSET($A1,COLUMN(A:A)-1,0),"") 同様に「情報2」が含まれている場合に、そのデータを抽出したいなら、A列の最後に「店」と入力して、E1セルに以下の式を入力して下方向にオートフィルしてください。 =IF(AND(ISNUMBER(FIND("店",$A1)),COUNTIF(A3:INDEX(A3:A8,MATCH("*店",A3:A8,0)-1),"情報2")=1),"情報2","")

okhotsk
質問者

お礼

ありがとうございます。 うまくいきました。A列の最後に「店」を追加するのがポイントですね。

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

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

画像の情報のみでの判断ですが、「店名のセルには"店"の文字が必ず右端に含まれている」と言う条件で次の数式で抽出できます。 C1=IF(FIND("店",A1&"店")>LEN(A1),"",A1) D1=IF(C1="","",IF(AND(ISERR(FIND("店",OFFSET($A1,COLUMN(A1),0))),OFFSET($A1,COLUMN(A1),0)<>""),OFFSET($A1,COLUMN(A1),0),"")) E1=IF(C1="","",IFERROR(VLOOKUP("情報2",OFFSET(A1,0,0,MATCH("店",RIGHT(OFFSET(A1,1,0,10)),0)-1),1,FALSE),"")) E1の数式は計算途中で配列の返り値を扱いますので、数式の確定時にCtrl+Shift+Enterで確定します。 C1からE1までを選択して下へ必要数コピーしてください。 Excel 2013で検証した結果が貼付画像です。 Excel 2010でも再現できるはずです。

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

取り敢えず一行目を項目行にして(挿入してください) C2は =A2 でいいですよね でD2に =IF(OFFSET($A2,0,COLUMN(B1))="","",IF(COUNTIF(OFFSET($A2,COLUMN(A1),0),"*店*"),"",OFFSET($A2,COLUMN(A1),0))) として 右に必要なだけコピーします(一番情報の多い店の行数分) 次にフィルターを使いA列で「店を含む」という条件で絞り込みます。 その後 さっきコピーした列数分選択して下方向にデータある最下行までコピーします。 データが表示されたら全ての範囲をコピーして別のシートに値貼り付けします。 このような操作でいかがでしょう。それぞれ店名に「店」という文字があるものとして考えています。

全文を見る
すると、全ての回答が全文表示されます。
  • tamao-chi
  • ベストアンサー率52% (457/875)
回答No.2

情報は5種類程度のみで、みな同じ文字列なのでしょうか? 例えば情報1はすべて「みかん」、情報2はすべて「りんご」であるとか。 そうであれば、フィルターを使って情報1、3~5のチェックを外し、コピー、行列を入れ替えて張り付けすれば済むと思います。

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

自動処理するためには、まずは、何かのキーワードで全ての店の行を抽出することをお勧めします。人間にできないことは機械にもできません。

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

関連するQ&A

  • Excelで列に入っているデータを行に展開する方法

    添付画像のように、Excelシート上のA列に、店名、住所、電話番号が全て入っている状態を、A列に商店、B列に住所、C列に電話番号というように振り分けたいです。 シート上のデータは、既に振り分けてあるものと振り分けていないものが混在しています。 振り分けていないものは、店名と電話番号だけ、店名と住所と電話番号といったパターンがあります(他に、店名とメールアドレスだけの様なパターンも)。 店名+電話番号、店名+住所+電話番号 のパターンはある程度かたまっているため、Sheet上で範囲を手動で選択して、行への展開を実行したいと思っています。 関数かVBAで効率よく実行する方法を教えてください。 Excel2010です。

  • エクセルで複数列に並んでいるものを1列で表すには?

    エクセルで例えば NO、店、商品・・・ 1「Aスーパ」「リンゴ」「バナナ」「ミカン」 2「Bコンビニ」「ナシ」「モモ」 3「C百貨店」「クリ」「ブドウ」 のように各セルに文字列が入っているものを 下記のように、「店」と「商品」がそれぞれ対応するように 一列に並べるにはどのようにしたらよいでしょうか? 1「Aスーパ」「リンゴ」 2「Aスーパ」「バナナ」 ・・・ 8「C百貨店」「ブドウ」 条件としては、 一つの行に店は1つだけ ただし、商品の数はばらばら です。

  • エクセルにて 文字列を参照し検索して値を返す方法。

    ある列から文字列を参照し、参照した文字列を他の列から検索し、検索行の指定した列の値を返したいと思います。   A B C D 1 林 2 森 3 根  林 5 4 根   梨 3 例えば、B1に答えを返したいと思います。 条件は、A1の文字列(林檎)と同じ文字列のものをD列から検索し、検索されたら、その行のE列の値を返したいのです。 答えは5なるようにしたいです。 またA列の文字群は変化するので、特定な文字検索というよりは、セルにはいっている文字列を検索したいです。 たいへん困っております。分かるかたよろしくお願いします。

  • エクセルファイルから指定列の文字を

    エクセルファイルから指定列の文字を、別のテキストファイルの特定の場所へ順番に差し替えたいです。 【例】 A列の文字→元からあるテキストファイルの内容そのままに、●という特定文字へ、住所1、住所2、住所3・・・ というようにエクセルの列に従って、順番に差し替えてくれる方法ってあるでしょうか? コピペだと大変です(涙) よろしくお願いします。

  • 文字列検索の参照文字列の指定について

    Excelでセルに任意の文字列をペーストします。そのセルは別のブックにリンクしているのでペーストする度にリンク先のセルでは文字列が更新されます。リンク先のブックにはワークシートが10あっていづれかのシートのA列にその文字列がある事になっています。更新された文字列を検索する作業を繰り返すのでマクロで組み込もうと思ったのですがFIND関数にしても、VBでCell.Find(What:=....と書くにも参照する文字列を直接指定してやらないと動きません。参照する文字列が相対的に変化するので「特定のセルの中に入力された文字列」を参照してブック内を検索したいということなのですが、実現するにはどうしたらようでしょうか?

  • Excelで、文字列を含むセルの検索をしたい

    Excelで、文字列を含むセルの検索をしたいと思います。 列Aには、探したい文字列(市町村名)が800行入っています。 (1行目)○○市 (2行目)△△町 (3行目)□□□村 ・・・以下続く・・・ 列Bには、検索対象となる文字列(住所)が7000行入っています。 (1行目)XX県XX市XX-XX-XX (2行目)XX県○○市XXXXXX-XXX-X (3行目)XX府XXX郡□□□村XXX ・・・以下続く・・・ このとき、 「列Aにある文字列(市町村名)を含む列B(住所)のセル」を検索したいのです。 (上記の例の場合は2行目・3行目がヒット。) シートや列は追加してかまいません。 件数が多いため、どのように探すと効率的か見当がつきません。どなたかよい知恵をお貸しください。よろしくお願いします!

  • エクセルの集計

    職場で1000以上の店舗の売り上げ等を1年間の表にして下さいと言われたが、数が膨大で。 月ごとに分かれてるが、閉店したり新店があったりして、順番がちょっと、ばらばらですが、数が膨大で見つけるだけで一苦労して、一つの表にするのが非常に苦労してます。 A列に店番(4ケタの数字)があり、B列に店名があり、CDE列にその月の売り上げ等があります。 その繰り返しです、FGHIJ...。画像の通りです。 最終的にはA列に店番、B列に店名、CDH列以降は売り上げ等を記載。 なにか、いいやり方等があれば教え下さい。 何卒、宜しくお願いします。

  • エクセルの文字列操作

    住所録の様式で A列にNo、B列に氏名、C列に住所のファイルがあり、 C列の住所で、1個のセルに何故かしら「住所と電話番号」が入っています。 住所と電話番号を夫々別の列に分割したくて、 電話番号は、RIGHT 関数で取り出しました。 住所は、文字数が一定でないので、LEFTまたはMID関数では出来ません。 ここで質問です 住所データの末尾に混在する電話番号は10文字の場合に限定し、 文字数の異なる、住所(○○市XX町△△番地○△荘2-103など)のみ 抽出する方法はありませんか。 なお、VBAなどは無知です、エクセル関数だけの操作があれば教えてください。

  • エクセルで列追加して、計算式を入れるには?

    こんにちわ。 住所録でまたつまずいてしまいました。 別シート(Sheet2)に住所録を、別データからコピーペーストをしています。 その際に、1つのセルに文字を折り返して名前と時間が入っています。 例) (D列に入っていると仮定) 山田 太郎 10:00 集計シート(Sheet1)には別セルとして扱いたいため、 1.2列増やす(E列、F列を挿入) 2.タイトルを入れる(この場合はE1に「名前」F1に「入店時間」と文字入力) 3.D2以降のデータを参照して名前と時間を抜き出す 1~2までと、名前を抜き出す関数はわかったのですが、横のセルを参照して計算式を入れる、がわかりません。 ちなみに住所録は毎日行数が変動します。 どなたかご教示願います。 よろしくお願いします。

  • PowerPointVBAで文字列の置換えは可能?

    PowerPointでも、VBAを使い色々なことが出来るということを知りました。 現在会社でPowerPoint2003を使用して、資料作成を行っているのですが 「全スライド中に存在する全てのテキストボックスから、特定の文字列を抽出して それらを特定の文字列に置き換える」ということは、VBAを使うことで実現可能でしょうか。 ExcelVBAのコードをアレンジしてひょっとして出来たりするのかな?と思ったりしているのですが・・・。 膨大なページ数がある資料の、ある語句を全て書きかえねばならず 手作業ではとても時間がかかってしまうので、なんとか自動化する方法はないだろうかと 思った次第です。 「可能」か「無理」だけでも知りたいと強く思っております。

専門家に質問してみよう