• ベストアンサー

列内より指定文字の抽出

エクセル2007で日報作成し更に集計(月報)しています。月報のJ列には「量産」「試作」の何れかの文字が入ります、ほとんどが「量産」です。 「試作」の時の行にある情報をまるごと別シートに自動的にコピーさせたいのです、どのような関数を別シートに入れればよいか教えて下さい。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! No.2さんの方法と似たような感じですが・・・ ↓の画像でSheet1に作業用の列を使っています。 作業列K2セルに =IF(J2="試作",ROW(),"") という数式を入れ、オートフィルで下へずぃ~~~!っとコピーします。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$K:$K)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$K:$K,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 尚、元データに空白がない場合は問題ないのですが、 もし空白があれば「0」が表示されると思います。 その場合は、当方使用のExcel2003の場合ですが メニュー → ツール → オプション の表示タブで 「ゼロ値」のチェックを外しておきます。 以上、参考になれば幸いです。m(__)m

me-kunn
質問者

お礼

ご丁寧な説明有難う御座いました。ご教示のようなサンプル表を作り試しました、うまくいきます、使用している表の構成を出来るだけ簡素化して試しましたがうまくいきません、月報のデータは日報のデータを INDIRECT関数で引いています、また総集計表として別のシートにもリンクさせています、何が影響しているか解りませんが、紐付きデータでなければうまくいく事は確認できましたので月報の構成要素をさらに簡素化してやってみます。有難う御座いました。

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

その他の回答 (2)

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

月報のシート1仮にSheet1として1行目には項目名があるものとします。作業列をM列としてM2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(J2<>"試作","",MAX(M$1:M1)+1) 別のシートでは1行目をシート1と同じ項目名として、A2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$M:$M,ROW(A1))=0,"",INDEX(Sheet1!$A:$L,MATCH(ROW(A1),Sheet1!$M:$M,0),COLUMN(A1)))

me-kunn
質問者

お礼

うまく行かなかった訳も理解でき、間違えていた個所も解りました。 tom04さんのやり方でもうまく行くようになりました、あらためてお二人に感謝します。

me-kunn
質問者

補足

有難う御座います、ご指示の通りやってみましたが#N/Aが出ます、参照セルを間違えているようです、少し粘ってみます、取敢えずお礼まで。

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

>どのような関数を別シートに入れればよいか Excel2007ではどこのセルでも構わないので =INDEX(月報!J:J,SMALL(IF(月報!$J:$J="試作",ROW(月報!J:J),9999),ROW(A1))&"" のように記入し,コントロールキーとシフトキーを押しながらEnterで入力し,下向けと横にコピーしておくと出来ます。 #関数でやるのはすぐに無理になります。しばらく使ってみた後は,上手に作業列を使って作業を見直してください。

me-kunn
質問者

補足

有難う御座います、好いところまでは行くのですが…実力不足で応用力にかけているんですね。 もう少しやってみます、取敢えずお礼まで。

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

関連するQ&A

  • 同一日付を1とカウントする方法。

    日報から月報を作成しています、日報は1生産ラインで1品種毎に発行されます。従って同じ日に3品種生産した時は3枚の日報となります。日報を張り付けるとINDIRECT関数で月報のシートにコピーされます。月報は1品種 1行に収まるようになっています。今は月報の日付欄には日報1の行にだけ手入力で入れ、日付列の最終列でCOUNTしています。手入力を省きたいのですが日付をDIRECT関数でコピーすると日付列に日報の枚数分同一日付が並びます、同一日付を1 とカウントさせる方法を教えて下さい。

  • 表から指定した行のみを別シートに抽出するには

    エクセル2002 ある表から、集計表として別のシートに行を抽出できる関数をおしえてください。 【シート1】      O列  P列  Q列  R列  S列  T列  U列    行9  種類  厚さ   w    H  枚数  か所   計 行10    行11 AAA  t6.8  1500  2000   3    3     9   | | 行15 AAA   t3   1000  2000   2    1     2 行16 bbb   t6.8  500   1500   1    3     3  : : という表から別のシートに 集計表として 【シート1】集計表AAA     O列  P列  Q列  R列  S列  T列  U列    行3  種類  厚さ   w   H   枚数 か所   計 行4  AAA  t3   1000  2000   2    1    2 行5  AAA  t6.8  1500  2000   3    3    9  | | 行15 AAA   t3   1000  2000   2    1    2 行16    : のように抽出する関数を教えてください。 出来れば集計表の横に種類ごとに選択したら、種類ごとに表示が変わるようならばよいのですが。。。  関数初挑戦のため大変なことになりそうな気もします。。。   皆様、ご教授のほどよろしくお願い致します。

  • Excelでの文字列抽出

    Excelで文字列の抽出とそれを並べる方法を教えてください。 関数だけを用いて実現できるのか、マクロを使わなければできないのかも分かりません。 この関数をこの様に使えばよいというのを教えていただけると幸いです。 やりたいことは、下記条件で、シート2のB列にシート1のG列~P列までに登録されている担当者名に該当するB列の店名を4店まで抽出したいのです。 分かりづらくて申し訳ございませんが、よろしくお願い致します。 ------------------------ シートが2枚(シート1/シート2)あります。 シート1  B列は4行毎に結合されており、店名が登録されています。  G列~P列までは1行目は担当者名、2,3,4行目は補足情報が登録されています。  シート2  A列に担当者名が入っています。(4行毎に結合しています)  B列にA列の担当者名に該当する、シート1の店名を4店まで登録したい。

  • excel vba 作成について教えて下さい。

    excel VBAを使ってあるブックのセル範囲を別のブック(日報.XLS)のシートへコピー貼り付けをしたいのですが、コピーする側のブックがランダムに取り込まれ(例 8時間ピッチにて自動的にブックが作成される)そのブックを日にちごとに集計し、一か月ごとにまとめるということをやらなければなりません。 例)8時間ごとにフォルダが作成されます。   000001.XLS 000002.XLS   00000F.XLS ・・・・・・・・16進数にて   上記ブックのSheet1のA2:A11までの数値を別のブック(日報月報集計)のに貼り付ける。 別のブック(日報月報集計)は項目ごとに10個のシートがあり 8時間ごとのファイルのセルA2は別ブックのSheet1の日付けに対応するセルへ貼り付け B2は       Sheet2 上記操作を8時間ごと(可変可能)に自動的にコピー貼り付けをやりたいのですが ブック間のコピー貼り付け等わからないことが(初心者です。)多々あり、いろいろ調べてはいるのですが、STOPした状態です。 出来れば、初心者にも理解しやすい解説等あれば宜しくお願いします。

  • エクセル ある文字列を入れるとある文字列を返す

    エクセルでの関数、ど素人です。一応自分で調べたのですが、無理なので質問させていただきます。よろしくお願いいたします。 エクセルで、時刻ですが文字列として1745~2345までを手入力します(1745,とか2000とか2330とか。。。。。) 入れた文字列によって、すぐ横のセルに1745、1800、1815であれば8.00、1830からは0.25刻みで8.25、1845であれば8.50、1900であれば8.75。。。。2330であれば13.25、2345であれば13.50と言ったように、入力した文字列に対しある特定の文字列を自動的に入れたいのですが、どのような関数を使えばよろしいのでしょうか。 私が行おうとしたのは、別シートに文字列一覧を作り、if(特定のセル(手入力するセル)=別シートの1745~2345まで、横のセル=別シートの8.00、8.00、8.00~13.50まで)や、sumif、lookupを使ってみましたが撃沈です。 どなたか教えていただきたく、お願いいたします。

  • excel 複数ブック・シートからのデータ抽出

    下記画像の日報を集計したいのですが、ご教授お願いします。 『1月~12月』というブックの中に、『1日~31日』というシートを作成し日報管理を行っています。 すでに『1月~12月』というブックは作成されているので、そちらはいじらずに、その内容を「作業内容集計」という一つのブックに集計したいと思っております。 単価の列に金額が入っていた場合に、行全体を抽出し、一年分を一つのシートにまとめたいのですが可能でしょうか? おそらくマクロでないと無理だと思うのですが、関数でも、こんな方法があると教えていただける方がおられればうれしく思います。 excelは2003~2010という混在の環境ですが、とりあえずexcel2010で集計できれば良いと考えています。 よろしくお願いいたします。

  • Excelで文字列をまとめたい

    こんにちは いつもお世話になります。 このカテへの投稿は初めてですが、今頼まれて簡単な集計表を作ろうとしています。 あるシートを入力専用のシートにし、たとえばA列に日付、B列には品名、C列には数量を入れるとします。 これを1ヶ月続けたあと、品名でまとめた集計表を作ります。 100行くらいのデータのうち、種類としては10数種類であり、その数は毎月変動します。(行数も) 集計表に重複せずに整理するため、今まではB列だけを別にコピーし、手動でソートして重複しているデータを削除していました。 これをなんとかもっと簡単に行う方法はないものでしょうか? 残りの数字の部分はSUMIF関数を使って合計させていますので簡単なのですが、前処理にいい方法が思いつきません。 ぼちぼち頭の柔軟性に疑問符がつき始めた小生になにかいいヒントをいただけましたら幸いです。 よろしくお願いいたします。

  • データの抽出

    再びエクセルの質問をします。 エクセルでデータベースを作っています。 データベースの合計金額を別シート(日報シート)に反映させたいのですがどんな関数を使えばいいのか分かりません。 データベースシートのB5~B204までには「現場名」が入力されていて、C5~AJ5までは費目別に合計金額が入力されています。C3~AJ3には費目(運搬費・施工図費・工事管理費など)が入力されています。 日報シートのA1~A26には費目が入力されていて、別シート(予算シート)のA1に現場名が入力されたら日報シートのB列に費目別に合計金額を反映させる関数を入力したいのですが・・・なにか良い関数がありましたらよろしくおねがいします。分かりづらい文章ですいません;;

  • 指定した文字を検索

    エクセル2003を使っています。 VBAを使って文字を検索したいと思います。 (1)「あるセル」から見て最も近い、A列の「ある特定の文字が入っているセル」を検索しコピーし、別シートに貼り付ける。 (最初の「あるセル」というのはデータによって、セルの場所が変わります。但し、A列には入りません。 また、次の「特定の文字が入っているセル」というのは、データによってA列は変わりませんが、行番号は変わります。そして、特定の文字はA列に数個あります。そこであるセルから最も近いセルを検索するとします。) 例. 最初の「あるセル」をJ30とします。A列に入っている「時間」という文字を探すことにします。但し、「時間」というのはA列に数個あります。 そこで、「J30」から見て、最も近いセルの「時間」を検索してコピーし、別シートのセルA1に貼り付けます。 分かりにくいかもしれませんが、よろしくお願いします。

  • シリアル日付を表示させない方法

    エクセル2007で日報を張り付け月報を作っています。日報の日付はシリアル値を2010/3/23と表示しています。この日付が入っているセルを別シートにINDIRECT関数で返しています。月報の日付欄の設定は「日付」 で3/23と表示させこのセルをオートフィルすると日報を張付けていない セルには1/0と表示されます。日報を張付けていないセルに何も表示しないか0 としたいのですが、出来るのでしょうか。 よろしくお願いします。

専門家に質問してみよう