インターネットでさまざまな書籍の検索ができますが、
その検索結果の内容をタイトル・著者名・出版社名・内容
などに分けて、それをEXCELにセルで分割されるように
落としたいのですが、そんな事できますか?
コピー&ペーストでは書籍数が多い場合途方もなく
時間がかかります。
時間を節約して、多くのデータをEXCELに落とす方法が
あったら教えて下さい。

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

A 回答 (4件)

>>私ではCSV形式という意味がわかりません


CSVというのは、
"書名","著者名","訳者名","出版社名","刊行年月日","本体価格","ISBNコード"
のように各項目を""でくくり、項目間を,で区切り、1レコードを1行に収めたテキストファイルのことです。
Excelをはじめ、様々な表計算ソフト、データベースソフトで共通して扱えるファイル形式です。

>>またエディタのキーボードマクロっていうのもどんなものですか?
多くのテキストエディタ(秀丸、WZなど)では、一連のキー操作を記憶して、まとめてばーっと処理してくれる機能があるんです。
いわゆるマクロより簡単で、初心者でも扱えます。
記録開始→(やりたいキー操作をする)→記録終了
といっただけの操作なので。

>>http://www.trc.co.jp/
>>図書館流通センターの検索です。
見てみましたが、ここのどの検索でしょうか?
ブックポータルから入れる書籍検索と、bk1の検索と、いくつかサービスがありますね。
それぞれ検索結果の表示仕様がちょっと違うみたいなので、お望みのサービスを補足してください。

この回答への補足

ありがとうございます。
CSV形式というのは、分かりました。それに似たようなことを
過去にやった記憶があります。
つまりHTML形式のものをCSV形式に変えてそれをエクセルに
落とす。そしてその一連の操作の繰り返しをテキストエディタ
というソフトをつかって、キー操作を覚えさせてやらせる
ということのように掴めてきました。

検索はブックポータルから入って、新刊書籍検索と
関連書籍検索で、あるキーワードで検索したものを
すべて落としたいのです。

一番お勧めのテキストエディタソフトは何ですか?
秀丸のサイトを見ました。雑誌についているものも
あるみたいですが、それで十分でしょうか?

たびたびすみませんよろしくお願いします。
本当に感謝です。

補足日時:2001/05/11 09:21
    • good
    • 0

先ほどの回答は簡単に書きすぎました。

すみません。
実際にやってみて、1回で簡単にできたので詳しく説明します。

検索結果を右クリックの全部選択、コピーで取得します。
エクセルのA1を選択し、右クリック”形式を選択して貼り付け”で
テキストを選択。

データ行以外の行を削除。
A列をクリックし、列すべてを選択。
データ-区切り位置-”カンマや・・・”を選択し、
その次の画面で、ピリオドと、スペースを選択。(ピリオドは
デフォルトでないので最後のその他の次のボックスに入力)
で、完了するとできると思うんですが、やってみてください。
説明が下手ですみません。
    • good
    • 0

こんな方法はいかがでしょうか?



まずホームページ上の検索結果をすべてコピーします。
エクセルに”形式を選択して貼り付け”の”テキスト”で貼り付けます。
必要なデータ以外の個所を削除します。
データ-区切り文字 でピリオドとスペースを選択すれば、
各セルに分割されますので、試してみてください。

ちょっと面倒くさいかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ひとつやってみました。
テキストで貼り付けると
縦に貼り付けられ、空白のセルがいくつかできたりもしました。
がそれを整理し、「列と行を入れ替える」を行うとデータベース
のように入りました。
これを繰り返し行えば可能になるような気がします。
この作業をSesameさんの教えてくれたテキストエディタっている
ソフトで自動で行えるようになるのかもしれません。(調べてみます)
できなければ地道な作業を続けるまでですね。
簡単にできる方法を教えてくれてありがとうございました。
もうちょっとがんばってみます。

お礼日時:2001/05/11 11:35

検索結果はおそらくHTML形式で出力されていると思うので、それをCSV形式に直せれば簡単にできそうですね。


マクロを組むか、何千レコードというものすごい数でなければ、エディタのキーボードマクロでも充分かも。
ただ、検索結果の体裁はサイトによって異なると思います。
どこの書籍検索でしょうか? それがわかればもう少し補足できると思いますが…。

この回答への補足

早速の解答ありがとうございます。
でもごめんなさい。私ではCSV形式という意味がわかりません
またエディタのキーボードマクロっていうのもどんなものですか?
初心者ですみません。お時間あったら教えてください。
 また現在トライしたい書籍検索は
http://www.trc.co.jp
図書館流通センターの検索です。
マクロは聞いたことはあり、ちょっとだけ学校の授業で触ったことは
ありますが、ほとんどまったくの初心者です。
もし勉強が必要で、マニュアルを買わなければ問題にならないという
ことであれば、ご推薦の本があったら紹介してください。
でもちょっと急いでもいるので、いいアイデア下さい。
おねがいします

補足日時:2001/05/10 17:17
    • good
    • 0

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

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

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

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

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qexcel 2003 [検索する文字列]ボックスにペーストしたい

winxp he sp2, office2003
[検索する文字列]ボックスにペーストしたいのです。
現状、手入力しかできなくて、非常に不便なのです。
解決策ありませんでしょうか。
よろしくお願いします。

Aベストアンサー

[検索]又は[置換]のダイアログボックスですよね。

右クリックメニューから[貼り付け]を選択したいなら出来ませんので、
ショートカットキーの[ Ctrl+V ]キーで対処してください。

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q【Excel】文字の検索、及び指定したセルへのコピーペースト【VBA】

VBA初心者のため、大変悩んでおります・・・。
1列の表から特定の文字を探し、探し出した文字の下にある値の隣列にコピーペーストを実行したいと思っております。
ペーストする列はB列、又はC列のみです。
どうかご教授いただけますようお願いいたします。

| A | B | C |
|文字A|   |   |
| 商品 |   |   |
| 商品 |   |   |
| 商品 |   |   |
|文字B|   |   |
| 商品 |   |   |
| 商品 |   |   |
| 商品 |   |   |

     ↓↓

| A | B | C |
|文字A|   |   |
| 商品 |文字A|   |
| 商品 |文字A|   |
| 商品 |文字A|   |
|文字B|   |   |
| 商品 |   |文字B|
| 商品 |   |文字B|
| 商品 |   |文字B|

Aベストアンサー

質問の意味が分からなかったので、図を見て適当に作ってみました。
こんな感じでどうでしょう。

Sub sample()
Dim i As Long
Dim j As Long
Dim res As Variant
Dim moji As String
j = 1
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If TokuteiMoji(Cells(i, "A")) Then
moji = Cells(i, "A")
j = j + 1
Else
Cells(i, j) = moji
End If
Next i
End Sub

Function TokuteiMoji(a As String) As Boolean
Dim res As Variant
On Error Resume Next
res = WorksheetFunction.Match(a, Array("文字A", "文字B"), 0)
If Err.Number = 0 Then TokuteiMoji = True
End Function

質問の意味が分からなかったので、図を見て適当に作ってみました。
こんな感じでどうでしょう。

Sub sample()
Dim i As Long
Dim j As Long
Dim res As Variant
Dim moji As String
j = 1
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If TokuteiMoji(Cells(i, "A")) Then
moji = Cells(i, "A")
j = j + 1
Else
Cells(i, j) = moji
End If
Next i
End Sub

Function TokuteiMoji(a As String) As Boolean
D...続きを読む

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Q【Excel】セルの内容をファイル名として保存

こんにちは

A1セルに 「9月13日」と表示しています。
このセルの値を用いて、
「報告書9月13日」というファイル名で保存したいのですが、
良い方法はないでしょうか。

Aベストアンサー

名前を付けて保存ダイアログにアクティブセルの値を表示するマクロ

Sub DispSaveAsDlg_ActiveCellValue()

 Application.Dialogs(xlDialogSaveAs).Show Arg1:=ActiveCell.Value

End Sub

excelのバージョンはかかれて質問するのが良いと思います。
たとえばexcel2007以降はマクロがある場合は
マクロ有効ブックで保存しなければならないとかありますからね。
*ご質問と少し違うかもしれませんが回答してみました。

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QEXCELでシートのコピーや移動した時に、セルの内容に移動元のファイル名がついてきてしまいます

EXCELでVLOOLUP関数使用しているシートのコピーや移動した時に、セルの内容に移動元のファイル名がついてきてしまいます.
新各種資料.xlsのシート 職員リストを 各種資料.xls のファイルへコピーする時の例
下記のようになります。置換で変更する以外に何か方法はありませんか。教えていただきたいと思います。

=IF($B15="","",VLOOKUP($B15,'[新各種資料.xls]データベース(職員リスト)'!$B$5:$N$44,2))

Aベストアンサー

エクセル2007の場合はわかりませんが、そうでなければメニューの「編集」→「リンクの設定」→「リンク元の変更」で旧ファイルを今度のファイルに指定します。

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

QEXCEL・含まれる値でセルを検索して行列名を返す

エクセルの関数でできるかどうか分かりませんが、、

下記のように表があり、特定の値を含むセルが複数存在しています。


       “A列”   “B列”   “C列” ・・・
9/1(日)  111aaa  222bbb  333ccc
9/2(月)  444ddd   111eee  555eee
9/3(火)   666fff   777ggg  111hhh
 ・
 ・
 ・

このときに、「111」を含むセルを検索すると
そのセルが存在する【行名(日付)】と【列名】をずらーーっと
下記にように返す方法はなにかありますでしょうか??


“A列”の9/1(日)
“B列”の9/2(月)
“C列”の9/3(火)
 ・
 ・

尚、上記のように出力できなくても、
特定の文字列を含む行名と列名が
一括で確認できれば問題ありません。
(VBAとかだとできるのでしょうか、、)


可能な限り急ぎ方法を知りたいのですが、
ググってもvlookup、indexの解説ばかりで困ってしまっていますので、
どうかアドバイスのほど宜しくおねがいします。

エクセルの関数でできるかどうか分かりませんが、、

下記のように表があり、特定の値を含むセルが複数存在しています。


       “A列”   “B列”   “C列” ・・・
9/1(日)  111aaa  222bbb  333ccc
9/2(月)  444ddd   111eee  555eee
9/3(火)   666fff   777ggg  111hhh
 ・
 ・
 ・

このときに、「111」を含むセルを検索すると
そのセルが存在する【行名(日付)】と【列名】をずらーーっと
下記にように返す方法はなにかありますでしょうか??


“A列”の9/1(日)
“B列”の9...続きを読む

Aベストアンサー

次の通りに行います。


準備
1行目に「A列」とか「B列」のように各列のタイトルをキチンと記入する
A列,A2以下のセルに9/1以下の日付を記入する
B2セル以降にデータを記入する
一応簡単のため,データは全て「文字列」だとする(判らなければ無視)

手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

sub macro1()
 dim c as range
 dim c0 as string
 dim a as variant
 dim w0 as worksheet

 a = inputbox("SEARCH STRING")
 if a = "" then exit sub

 set w0 = activesheet
 set c = w0.cells.find(what:=a, lookin:=xlvalues, lookat:=xlpart)
 if c is nothing then
  msgbox "NOTHING FOUND"
  exit sub
 end if

 worksheets.add after:=activesheet
 activesheet.range("A1:B1") = array("COL","ROW")
 c0 = c.address

 do
  range("A65536").end(xlup).offset(1) = w0.cells(1, c.column).text
  range("B65536").end(xlup).offset(1) = w0.cells(c.row, 1).text
  set c = w0.cells.findnext(c)
 loop until c.address = c0
end sub

ファイルメニューから終了してエクセルに戻る
データを記入したシートを開く
ALT+F8を押してマクロを実行する。



>エクセルの関数でできるかどうか分かりませんが

良く寄せられるご相談の一種ですが,エクセルの関数はコタエを「1つだけ」返すモノで,「該当するリストをずらっと並べる」といった便利な関数はありません。なので探しても,通常はそういう使い方は見つかりません(他の表計算では,そういう事ができる関数を備えているモノも確かにあります)。

無理矢理すれば一応出来る計算式はありますが,通常は聞くだけで応用できないので役には立ちません。

次の通りに行います。


準備
1行目に「A列」とか「B列」のように各列のタイトルをキチンと記入する
A列,A2以下のセルに9/1以下の日付を記入する
B2セル以降にデータを記入する
一応簡単のため,データは全て「文字列」だとする(判らなければ無視)

手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

sub macro1()
 dim c as range
 dim c0 as string
 dim a as variant
 dim w0 as worksheet

 a = inputbox("SEARCH...続きを読む


人気Q&Aランキング