会社である表にオートフィルタをつけています。
そのオートフィルタのリスト項目ごとに印刷をしたいのですが、
かなり手間がかかってしまうので、マクロをくみたいと考えています。
リストの項目は毎回変わってしまうので、マクロ初心者の私にはとても難しいのです。
お分かりになる方よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんばんは!


実際のデータの配置がどのようになっているのか判らないので、方法だけです。

>・・・オートフィルタのリスト項目ごとに印刷をしたいのですが・・・

とありますので、ある列の項目すべてでオートフィルタをしプリントアウトしたい!ということだと解釈してのコードになります。

↓の画像のようにSheet1のD列のすべての項目でオートフィルタをかけて、プリントアウトするようにしてみました。
(Sheet1のD列データをSheet2のA列に重複なしで表示するようにしていますので、Sheet2は使用していないという前提です)

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i, j As Long
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1") '←Sheet名は実際のSheet名に!
Set ws2 = Worksheets("sheet2")
ws2.Cells.Clear
For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Range(ws1.Cells(2, 4), ws1.Cells(i, 4)), ws1.Cells(i, 4)) = 1 Then
ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) = ws1.Cells(i, 4)
End If
Next i
j = ws1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row
Range(ws1.Cells(1, 1), ws1.Cells(j, 4)).AutoFilter field:=4, Criteria1:=ws2.Cells(i, 1)
ws1.PrintOut
Next i
End Sub 'この行まで

あくまでこちらで勝手に表を作った上でのコードですので、中身は実状に合わせる必要があります。
Sheet1のデータ範囲・オートフィルタの列等々です。m(__)m
「オートフィルタのリストを順番に印刷できる」の回答画像1
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルのオートフィルタ機能を使った際の印刷

エクセルでリスト形式のデータを作って、オートフィルタを使ったときの印刷なんですが、何ページもあるデータをフィルタで抽出したものだけ印刷したいのに、データが離れた行にあるので、1ページは10行、2ページ目は2行、3ページ目は5行…のように連続して印刷できません。
改プレかオートフィルタの設定かなあと思ったんですが、設定の場所がわかりません。
よろしくおねがいします。

Aベストアンサー

「挿入」「改ページ」で改ページの破線が入ってませんか?

破線の下にカーソルを持っていって、「挿入」「改ページの削除」で
解除できますけど。何なら左上の行列クロスの部分をクリックして
シート全体を選択「挿入」「全ての改ページを削除」しちゃっても
いいかもしれません。

QエクセルVBAでフィルタ印刷の方法を教えてください。

みなさまご教授ください。

顧客リストシートがあり、B列からO列まで営業担当のIDや顧客データがあります。桁数はせいぜい300桁くらい(データによりまちまち)です。

今までは担当者ごと(約60名程)にソートをしてプリントアウトしてきましたが、これをVBAで処理をしたいと思っております。
但し、60名の中には該当ナシの為プリントアウトしないケースもあります。以前の履歴を見てコピペをしても、うまく動作しません。
ポイントとして
1.1人の桁数はそんなに無いので(A4横)1枚にプリントアウトしたい。
2.抽出データによって、担当者は該当ナシの場合もあるので全てのプリントアウトはしない。

みなさまのお知恵を拝借させてください。宜しくお願いいたします。

Aベストアンサー

なれないのだろうが、質問で良くわからない点などあり。
>フィルタ印刷の方法
内容を反映していない。エクセルには「フィルタ」という操作や機能があるが、質問とは別のようなので、この言葉は使わないほうが良い。
ーー
>担当者ごと(約60名程)にソートをしてプリントアウトしてきましたが
これをVBA化することをお勧めしたい。
ーー
ポイントとして、「営業マン」別に印刷帳票を分けるのかどうかが
書いてないのが、最大の片手落ち。
ーー
>60名の中には該当ナシの為プリントアウトしないケースもあります
今回該当なしの紙片さえいらないのですね。
ーー
>以前の履歴を見てコピペをしても、うまく動作しません。
これは何の意味かわからない。
人間なら見て、適当に範囲を変えて貼り付けるでしょう。
ーー
>1.1人の桁数はそんなに無いので(A4横)1枚にプリントアウトしたい。
1.1とは「ひとりひとりは」という意味か?
ーー
>抽出データによって、担当者は該当ナシの場合もあるので全てのプリントアウトはしない
むしろ、データが無いのに、全営業マンのシートを打ち出すほうが
難しいのです。特に書かなくても良いのです。
ーーーー
2つの方法を紹介します。
Aソート法
(1)営業マンコードか、名でソート
(2)第1行目を基準営業マン名の変数に記録
(3)1行ずつ処理して、営業マンの名が、基準営業マン名と同じ間は印刷シートの明細欄に写す
(4)基準営業マン名と今の行の営業マン名が変わったら、今までためた明細で印刷シートを印刷
(5)変わった営業マン名を基準営業マン名に記録し、
印刷明細範囲に今の行で1行写す。
(6)繰り返し。(3)へ
(7)終われば、最後の営業マン分を印刷
印刷はRange(A1:H20).PrintOutのように、各営業マンとも同じ良い。
Range(A1:H20).は仮定で、適当に帳票実情にあわせて。
1行しかない営業マンも1ページ印刷される。
Bフィルタ法
(1)営業マンごとに営業マンコードをシートに持っておく。
(2)営業マンごとに営業マンコードなどで、フィルタオプションで印刷範囲に抜き出し
(3)印刷する。
(4)業マンごとに営業マンコードを差し替えて(2)っを繰り返す
具体的には下の行の営業マンコードでフィルタするということ。
C.Find法
1人の営業マン分を抜き出し、そろったところ印刷。
次ぎの営業マンを見つけ、印刷。
ーー
以上のように色んなロジックが考えられるのです。
読んで、ああ・あれか、というイメージが湧かなかったら、今はVBA化は無理と思う。
どれもVBAの中級以上の技量が必要なような気がする。
大丈夫ですか。

なれないのだろうが、質問で良くわからない点などあり。
>フィルタ印刷の方法
内容を反映していない。エクセルには「フィルタ」という操作や機能があるが、質問とは別のようなので、この言葉は使わないほうが良い。
ーー
>担当者ごと(約60名程)にソートをしてプリントアウトしてきましたが
これをVBA化することをお勧めしたい。
ーー
ポイントとして、「営業マン」別に印刷帳票を分けるのかどうかが
書いてないのが、最大の片手落ち。
ーー
>60名の中には該当ナシの為プリントアウトしないケースも...続きを読む

Q「オートフィルタ」の作業を自動化したいのですが…

「Excel」のオートフィルタを使って、
自動的にリストを上から順番に抽出していって、
印刷したいのですが…。

具体的には、「部署名」が入っているA列
(B列以降に「名前」等)を、
オートフィルタを使って部署ごとに
グルーピングした後、印刷をします。

これを部署の数だけ順番に繰り返していくのですが、
部署名がとても多いので、
それを自動化したいのですが…。

マクロはよく分からないので、
「マクロの記録」ボタンを使ってしか
出来ないのですが、それだと、一度
全部の署名を「グルーピング→印刷」
して、記録させなければいけませんよね?

部署名の変更・追加等にも対応出来る
良い方法はないでしょうか?

宜しくお願い致します。

Aベストアンサー

私流のやり方
Sub test01()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
'---------部署名A列でソート-
ws1.Range("A2:C12").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
'----------最終行を察知
d = ws1.Range("A65536").End(xlUp).Row
'-----初期設定
m = ws1.Cells(2, "A")
j = 2 'Sheet2の開始行
ws2.Cells(1, "A") = "部署"
ws2.Cells(1, "B") = "氏名"
ws2.Cells(1, "C") = "住所"
'-----2からd行まで繰り返し
For i = 2 To d
If ws1.Cells(i, "A") <> m Then '前の行と部署変ったか
ws2.Range(ws2.Cells(2, "A"), ws2.Cells(j, "C")).PrintOut '印刷
ws2.Range(ws2.Cells(2, "A"), ws2.Cells(j, "C")).ClearContents 'クリア
j = 2
m = ws1.Cells(i, "A")
Else
End If
'----Sheet2のj行にSheet1のi行をコピー
ws2.Cells(j, "A") = ws1.Cells(i, "A")
ws2.Cells(j, "B") = ws1.Cells(i, "B")
ws2.Cells(j, "C") = ws1.Cells(i, "C")
j = j + 1
Next i
'----後仕舞い
ws2.Range(ws2.Cells(2, "A"), ws2.Cells(j, "C")).PrintOut
End Sub
----------
(例データ)
部署氏名住所
営業部小山東京
営業部中畑埼玉
人事部小川静岡
営業部中山愛知
開発部大島静岡
開発部大木神奈川
総務部小島三重
人事部東山埼玉
人事部小畑栃木
総務部山田東京
営業部大畑茨城
(結果)
第1ページ
部署氏名住所
営業部小山東京
営業部中畑埼玉
営業部中山愛知
営業部大畑茨城
第2ページ
部署氏名住所
開発部大島静岡
開発部大木神奈川
第3ページ
部署氏名住所
人事部小川静岡
人事部東山埼玉
人事部小畑栃木
第4ページ
部署氏名住所
総務部小島三重
総務部山田東京

私流のやり方
Sub test01()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
'---------部署名A列でソート-
ws1.Range("A2:C12").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
'----------最終行を察知
d = ws1.Range("A65536").End(xlUp).Row
'-----初期設定
m = ws1.Cells(2,...続きを読む

QエクセルVBAでフィルタ抽出部分のみのコピー

エクセルVBAで売上帳を作成していますが、オートフィルタでデータ抽出した後、表示されている行のみをコピーして別シートに貼りつけるにはどうすればよいのでしょう?

別シートは指定したセルに値のみの貼り付けをしたいと思っています。

宜しくお願いします。

Aベストアンサー

こんにちは
マクロの記録で作成した一例です。コメントを読んで、適当にアレンジして下さい。

Option Explicit
Sub SampleMacro1()
'
' SampleMacro1 Macro
' マクロ記録日 : 2009/3/13
'
 'フィルター部分
 Selection.AutoFilter Field:=1, Criteria1:="=ほげほげ", Operator:=xlAnd
 '可視セルの選択
 Selection.SpecialCells(xlCellTypeVisible).Select
 '選択範囲のコピー
 Selection.Copy
 'コピー先のシート&セル選択
 Sheets("Sheet2").Select
 Range("A1").Select
 'ペースト
 ActiveSheet.Paste
 'コピー元シートに戻りコピー状態解除
 Sheets("Sheet1").Select
 Application.CutCopyMode = False
 Range("A1").Select
End Sub

外してたら、ごめんなさい

こんにちは
マクロの記録で作成した一例です。コメントを読んで、適当にアレンジして下さい。

Option Explicit
Sub SampleMacro1()
'
' SampleMacro1 Macro
' マクロ記録日 : 2009/3/13
'
 'フィルター部分
 Selection.AutoFilter Field:=1, Criteria1:="=ほげほげ", Operator:=xlAnd
 '可視セルの選択
 Selection.SpecialCells(xlCellTypeVisible).Select
 '選択範囲のコピー
 Selection.Copy
 'コピー先のシート&セル選択
 Sheets("Sheet2").Select
 Range("A1").Select
 'ペース...続きを読む

Qエクセルを使って名簿を連続印刷するには

名簿の名前だけを一人一人ピックアップして、A1のセルに入れて、連続して自動印刷はできますか。
使っているソフトは、EXCEL2003です。
宜しくお願いいたします。

Aベストアンサー

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、Sheet1のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範囲は仮にA1:D7の範囲としています。

Sub Pri_Name()

 Range("A2").Activate
 Do While ActiveCell.Text <> ""
  Worksheets(2).Range("A1").Value = ActiveCell.Text
  Worksheets(2).Range("A1:D7").PrintOut
  ActiveCell.Offset(1, 0).Activate
 Loop

End Sub

上記のマクロはAltキーを押しながらF11キーを押して表示されるマクロのエディタでF7キーを
押して出てきたところに貼り付けます。
印刷を実行する場合はAltキーを押しながらF8キーを押して表示されるマクロの実行指示画面で
「Sheet1.Pri_Name」が選択されている事を確認して、同画面にある「実行(R)」ボタンを押します。

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、Sheet1のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QEXCELで一覧表のデータを個別に印刷したい

こんにちわ。
質問させて頂きます。

EXCEL(エクセル)で一覧表になっているデータがありまして、それを1件1件『A4用紙1枚づつ』に印刷したい。
という発案で、色々調べたのですが上手くいかず・・・。

WORDからの差込印刷も試してみましたが、レイアウトや罫線などの設定も細かく出来ないので駄目でした。



ちなみに、一覧表のデータというのは顧客データでして、名前や住所・生年月日等が入っています。

一番理想的なのは、『EXCEL一覧表のデータ』を『別のシートに作成したテンプレート』にデータを飛ばし、テンプレートに一覧表のデータが反映される。
顧客データは数十人分のデータがありますので、印刷する際にはどのデータを印刷するかしないかを選択できる。
・・・以上が出来れば素晴らしいです。


どなたか、その方法・もしくはヒント的な事を知っている方が居ましたら教えていただけると有難いです。
宜しくお願い致します。

Aベストアンサー

Wordで様式をつくり差し込み印刷がいいと思いますが 

>WORDからの差込印刷も試してみましたが
 差し込み印刷は、エクセルデータをWordの様式に差し込みます。
 参考
  http://www.miyazaki-cci.or.jp/nichinan/pc/case92.html

なお、
>レイアウトや罫線などの設定も細かく出来ないので駄目<
とは具体的にどのようなところが設定できずにダメなのかを提示するといい案を教えていただけるのではないですか

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Qエクセルで複数の条件を抽出し自動的に別シートに反映する方法を教えてください。

こんばんは。教えてください。

元データ(sheet1)を更新するたび
2つの条件にあったデータを
別シートに自動的に抽出したいので
適した関数がありましたら教えてください。



◇シート1◇ ※元データ
 A      B     C     D     F
1 氏名 役職 部署 年齢 移動時期     
2 山田 社員 開発 45  未調整
3 田中 社員 人事 42  4/1~
4 鈴木 派遣 企画 30  
5 高橋 役員 人事 50  未調整
6 坂野 社員 企画 33  未調整  
7 井上 派遣 企画 29  未調整

◇シート2◇ ※部署が人事で移動時期が未調整の人のみ抽出
 A      B     C     D    F
1 氏名 役職 部署 年齢 移動時期 
2 高橋 役員 人事 50  未調整


補足
・元データ(シート1)はこれからもデータを追加するので
 その度、シート2、シート3もそれぞれ自動で反映されるようにした いです。

・マクロ、VBAは知識がないので
 関数で作成したいです。

・できるだけエラー(#N/Aなど)表示されないようにしたいです。

説明が不十分で伝わりにくいかと思いますが
よろしくお願いします。

こんばんは。教えてください。

元データ(sheet1)を更新するたび
2つの条件にあったデータを
別シートに自動的に抽出したいので
適した関数がありましたら教えてください。



◇シート1◇ ※元データ
 A      B     C     D     F
1 氏名 役職 部署 年齢 移動時期     
2 山田 社員 開発 45  未調整
3 田中 社員 人事 42  4/1~
4 鈴木 派遣 企画 30  
5 高橋 役員 人事 50  未調整
6 坂野 社員 企画 33  未調整  
7 ...続きを読む

Aベストアンサー

> 部署を"人事"と"企画"の両方で抽出する条件を追加する

おはようございます、merlionXXです。
Operator:=xlOr, Criteria2:="=企画" と、OR条件で"企画"を加えれば可能です。
一応、各コードの動きに解説もつけておきました。(解説は’でコメントアウトしてますのでこのまま貼り付けてもOKです。)

Private Sub Worksheet_Activate() 'このシートがアクティブになったら自動実行
With Sheets("Sheet1") 'Sheet1対して
.AutoFilterMode = False 'オートフィルタ終了(あればエラーになるため)
.Range("A1:E1").AutoFilter 'A1:E1にオートフィルタ設定
.Range("A1:E1").AutoFilter Field:=3, Criteria1:="=人事", Operator:=xlOr, Criteria2:="=企画" '左から3つ目のフィルタを"人事"と"企画"のOR条件で抽出
.Range("A1:E1").AutoFilter Field:=5, Criteria1:="未調整" '左から5つ目のフィルタを"未調整"で抽出
.Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).Copy Range("A1") 'A1から最終セル範囲の可視セルをこのシートのA1以降に貼り付け
.AutoFilterMode = False 'オートフィルタ終了
End With 'Sheet1に対する記述おわり
End Sub

> 部署を"人事"と"企画"の両方で抽出する条件を追加する

おはようございます、merlionXXです。
Operator:=xlOr, Criteria2:="=企画" と、OR条件で"企画"を加えれば可能です。
一応、各コードの動きに解説もつけておきました。(解説は’でコメントアウトしてますのでこのまま貼り付けてもOKです。)

Private Sub Worksheet_Activate() 'このシートがアクティブになったら自動実行
With Sheets("Sheet1") 'Sheet1対して
.AutoFilterMode = False 'オートフィルタ終了(あればエラーになるた...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報