• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで文字検索を簡単に。)

エクセルで文字検索を簡単にする方法とは?

このQ&Aのポイント
  • エクセルで文字検索を簡単にする方法について知りたいです。
  • 標準コマンドでの検索では膨大な数の年月日(曜日)を扱うことが難しいため、より簡単な方法はないか調べています。
  • 参考サイトや情報があれば教えてください。

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

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

シート1のG2セルへの入力の式は次のようにしてもよいでしょう。 =IF(OR(NOT(ISNUMBER(B2)),Sheet2!$B$1=""),"",IF(AND(YEAR(B2)=YEAR(Sheet2!$B$1&"1日"),MONTH(B2)=MONTH(Sheet2!$B$1&"1日")),MAX(G$1:G1)+1,""))

hirota3310
質問者

補足

No.4,5、6ご回答者様 お礼が大変遅くなり失礼いたしました。 ご回答頂いた関数でバッチリ行きました。 別シートへの拾い出しまでしていただき、印刷などに便利です。 完璧です。いろいろと応用がききそうな感じがしました。 この補足に気づかれまして、参考サイト等教えて頂ければ幸いです。

その他の回答 (5)

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

回答No3,4です。 B列でご希望の年月のデータのみを別のシートに表示させたいのでしたら次のようにします。 元のデータがシート1の2行目から下方にお示しのようにあるとして、別のシートを例えばシート2とします。 シート2のA1セルには抽出年月とでも記載し、B1セルには平成19年1月のように入力します。H19年1月とは記入しないでください。 その後にシート1ではF列までにデータがあるとしてG列を作業列とします。G2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(NOT(ISNUMBER(B2)),Sheet2!$B$1=""),"",IF(AND(YEAR(B2)=YEAR(VALUE(Sheet2!$B$1&"1日")),MONTH(B2)=MONTH(Sheet2!$B$1&"1日")),MAX(G$1:G1)+1,"")) その後にシート2に戻って例えばA3セルには次の式を入力してF3セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$G:$G),"",IF(INDEX(Sheet1!$A:$F,MATCH(ROW(A1),Sheet1!$G:$G,0),COLUMN(A1))=0,"",INDEX(Sheet1!$A:$F,MATCH(ROW(A1),Sheet1!$G:$G,0),COLUMN(A1)))) これでご希望の表をシート2に表示させることができます。オートフィルタなどの操作を必要としません。

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

回答No3です。B列に文字列などが含まれるのでしたらA2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(ISNUMBER(B2),TEXT(B2,"gge年m月"),"")

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

A2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",TEXT(B2,"gge年m月")) その後に1行目にカーソルを移して、エクセル2002ですが「データ」メニューから「オートフィルタ」を選択します。 A1セルの▼をクリックしてお望みのH20年1月などを選択すればよいでしょう。

hirota3310
質問者

補足

お礼が遅くなり失礼いたしました。 「オートフィルタ」と上手く??利用する方法ですね。 ご回答いただいたように 以下の式を入れて行ってみました。 >=IF(B2="","",TEXT(B2,"gge年m月")) 日付以外の文字があると▼の候補にその文字もあがります。 日付だけだと希望通りH20年1月、H22年4月・・・のみ表示してくれます。 よろしければ再度アドバイス頂きたいです。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問の文章がわかりにくい。 シートの実例でも挙げて質問すること、B列やなんのなど書かないで 例 B列B2以下 2011/5/2 打ち合わせ 2011/5/23 営業会議 ・・・ と書けばすぐ判る。 ただ同じ月のデータがある場所にまとまっているのかどうか、書いておく。 年月単位で検索したいのかな。 >H19年4月、5月・・・H20年1月、2月・・・・○○年月の文字を1行目に作成し クリックすれば などVBAで高等な技術になる。それよりA1セルに求める日付か年月かを入力させて考えるのが初心者であればやるべき方法。 ーー 何を>簡単にする方法、を聞いているのか。 (1)検索条件の指定か (2)条件指定しての検索が再々起こるので手数なのか。 (3)フィルタの操作が面倒なのか。まさか編集ー検索でやっているのではないでしょうね? のどれかかな。 本件関数でやるのは、エクセル関数では、検索に適した関数が無く、組み合わせては長い式になる。 VBAで考える ーー VBAでなくても、オートフィルタを使えば仕舞いでは。 またはその操作をしてマクロの記録を取り、それをショートカットやボタンに登録できる。 マクロの記録では Sub Macro3() Range("B1:B8").Select Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="<=2011/5/1", Operator:=xlAnd, _ Criteria2:="<2011/6/1" End Sub を年月指定方式に変えて Sub Macro3() Selection.AutoFilter x = InputBox("年月日=") y = DateSerial(Year(x), Month(x) + 1, 1) '来月1日 z = Format(x, "yyyy/mm/dd") '文字列に変換 u = Format(y, "yyyy/mm/dd") MsgBox z '確認用、この行抹消してかまわない MsgBox u Range("B:B").Select Selection.AutoFilter Field:=1, Criteria1:=">=" & z, Operator:=xlAnd, _ Criteria2:="<" & u End Sub

hirota3310
質問者

お礼

お礼が大変遅くなり失礼いたしました。 質問内容不手際ですいません。 VBAまで記載していただきありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

オートフィルタ機能をつかったらどうでしょう? このサイトが参考になります。↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm

hirota3310
質問者

お礼

ご回答ありがとうございます。 オートフィルタ機能ですか。 参考サイトのぞいてみます。