• ベストアンサー

図書室の本の検索で分類番号も出したい。

EXCEL初心者です。 宜しくお願いします。 以前 図書室の本の検索でお聞きしました。 さらに追加してお聞きします。 シート1 C1に書籍名を入力すると D1に「図書室にはあります」「図書室にはありません」を表示する。 方法を教えてもらいました。 使わせてもらっています。 今度はさらに E1に「図書室に本がある場合」は分類番号を表示したい。 「図書室に本がない場合」はE1に「***」を表示したい。 シート2 B2~B15000には番号 C2~C15000には書籍名 D2~D15000には著者名 E2~E15000には分類番号 が、入っています。 宜しくお願いたします。

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

  • ベストアンサー
回答No.7

ソレ、シート2でやると、トッテモ分かり易くなって、シワァワセ、、、

pi-man39
質問者

お礼

ありがとうございました。

その他の回答 (6)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

>D1に「図書室にはあります」「図書室にはありません」を表示する。 との事ですが、該当する書籍が蔵書にある場合には、あるという事だけを表示させるよりも、著者名を表示させた方が宜しいのではないでしょうか?  その方法は以下の通りです。  まず、D1セルに次の数式を入力して下さい。 =IF($C$1="","",IF(COUNTIF($C$2:INDEX($C:$C,ROWS($C:$C)),$C$1),VLOOKUP($C$1,$C$2:INDEX($D:$D,ROWS($C:$C)),2,FALSE),"(図書室にはありません)"))  次に、E1セルに次の数式を入力して下さい。 =IF($C$1="","",IF($D$1="(図書室にはありません)","***",VLOOKUP($C$1,$C$2:INDEX($E:$E,ROWS($C:$C)),3,FALSE)))  次に以下の操作を行って下さい。 【ExcelのバージョンがExcel2007よりも前のバージョンの場合】 D1セルを選択   ↓ メニューの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「セルの値が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄をクリック   ↓ 現れた選択肢の中にある[次の値に等しい]をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から3番目の欄に (図書室にはありません) と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた色のサンプルの中にある赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック 【ExcelのバージョンがExcel2007以降のバージョンの場合】 Excelウィンドウの上の方にある[ホーム]タブをクリック   ↓ D1セルを選択   ↓ 選択されているセル範囲を変えないまま、「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[新しいルール]をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[指定の値を含むセルだけを書式設定]をクリック   ↓ 現れた「次のセルのみを書式設定」という箇所の左端の欄をクリック   ↓ 現れた選択肢の中にある[セルの値]をクリック   ↓ 現れた「次のセルのみを書式設定」という箇所の左から2番目の欄をクリック   ↓ 現れた選択肢の中にある[次の値に等しい]をクリック   ↓ 「次のセルのみを書式設定」という箇所の左から3番目の欄に (図書室にはありません) と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた色のサンプルの中にある赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック  以上です。

pi-man39
質問者

お礼

御丁寧に色々アドバイスありがとうございました。 利用者の視点に立ったアドバイスをいただき ありがとうございました。 大いに参考にさせていただきます。

pi-man39
質問者

補足

言葉が足りなくて申し訳ありません シートの指定をしなくてよいのですか。 SHEET1は「検索」 SHEET2は「一覧」とシートの名前をつけています。 SHEET1 「検索」 C2に書籍名を入力すると D2に「図書室にあります」「図書室にはありません」を表示する。(すでにできています。) 今度はさらに E2に「図書室に本がある場合」は SHEET2「一覧」から分類番号を持ってきて、表示したい。 「図書室に本がない場合」はE2に「***」を表示したい。 SHEET2「一覧」には 番号、書籍名、著者名、分類番号の データが入っています。 B2~B15001 には番号 C2~C15001 には書籍名 D2~D15001 には著者名 E2~E15001 には分類番号 が、入っています。 宜しくお願いします。

回答No.5

早速訂正、 =IF(D1="図書室にはあります",VLOOKUP(C1,$C$2:$E$15000,3,FALSE),IF(C1="","","***"))

pi-man39
質問者

補足

言葉が足りなくて申し訳ありません シートの指定をしなくてよいのですか。 SHEET1は「検索」 SHEET2は「一覧」とシートの名前をつけています。 SHEET1 「検索」 C2に書籍名を入力すると D2に「図書室にあります」「図書室にはありません」を表示する。(すでにできています。) 今度はさらに E2に「図書室に本がある場合」は SHEET2「一覧」から分類番号を持ってきて、表示したい。 「図書室に本がない場合」はE2に「***」を表示したい。 SHEET2「一覧」には 番号、書籍名、著者名、分類番号の データが入っています。 B2~B15001 には番号 C2~C15001 には書籍名 D2~D15001 には著者名 E2~E15001 には分類番号 が、入っています。 宜しくお願いします。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 申し訳御座いません、回答:No.2における「データの入力規則」ダイアログボックスの[設定]タブの「元の値」欄に入力する数式、 =OFFSET(C$2,,,MATCH("*?",$D:$D,-1)-ROW($C$2)+1) にはバグがありました。  ですから、次の数式と差し替えて下さい。 =OFFSET(C$2,,,MATCH("*?",OFFSET($D$2,,,ROWS($D:$D)-ROW($C$2)+1),-1)-ROW($C$2)+1)

回答No.3

そのD1がどんな按配になってるのか?、分からんですが、、、 =IF($D$1="図書室にはあります",VLOOKUP($C$1,$C$2:$E$15000,3,FALSE),IF($D$1="図書室にはあります","","***"))

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 尚、E1セルに入力する数式を次の様なものにしますと、リストの行数が何行であるのかを気にする事無く、後からでも自由に書籍データを追加する事が出来ます。 =IF($D$1="図書室にはあります",VLOOKUP($C$1,$C$2:INDEX($E:$E,ROWS($C:$C)),3,FALSE),IF($D$1="図書室にはありません","***","")) 或いは =IF($D$1="図書室にはあります",VLOOKUP($C$1,$C$2:INDEX($E:$E,MATCH("*?",$D:$D,-1)),3,FALSE),IF($D$1="図書室にはありません","***",""))  それから、以下の様な操作を行って、C1セルに入力規則を設定しますと、書籍の入力が楽になります。 【ExcelのバージョンがExcel2007よりも前のバージョンの場合】 C1セルを選択   ↓ 「メニュー」バーの[データ]ボタンをクリック   ↓ 現れた選択肢の中にある[入力規則]をクリック   ↓ 現れた「データの入力規則」ダイアログボックスの[設定]タブをクリック   ↓ 「入力値の種類」欄をクリック   ↓ 現れた選択肢の中にある[リスト]をクリック   ↓ 現れた「元の値」欄に次の数式を入力 =OFFSET(C$2,,,MATCH("*?",$D:$D,-1)-ROW($C$2)+1)   ↓ 「データの入力規則」ダイアログボックスの[エラーメッセージ]タブをクリック   ↓ 現れた「無効なデータが入力されたらエラーメッセージを表示する」と記されている箇所をクリックして、チェックを外す   ↓ 「データの入力規則」ダイアログボックスの[OK]ボタンをクリック 【ExcelのバージョンがExcel2007以降のバージョンの場合】 C1セルを選択   ↓ Excelウィンドウの上の方にある[データ]タブをクリック   ↓ 現れた[データの入力規則]ボタンをクリック   ↓ 現れた選択肢の中にある[データの入力規則]をクリック   ↓ 現れた「データの入力規則」ダイアログボックスの[設定]タブをクリック   ↓ 「入力値の種類」欄をクリック   ↓ 現れた選択肢の中にある[リスト]をクリック   ↓ 現れた「元の値」欄に次の数式を入力 =OFFSET(C$2,,,MATCH("*?",$D:$D,-1)-ROW($C$2)+1)   ↓ 「データの入力規則」ダイアログボックスの[エラーメッセージ]タブをクリック   ↓ 現れた「無効なデータが入力されたらエラーメッセージを表示する」と記されている箇所をクリックして、チェックを外す   ↓ 「データの入力規則」ダイアログボックスの[OK]ボタンをクリック  尚、上記の =IF($D$1="図書室にはあります",VLOOKUP($C$1,$C$2:INDEX($E:$E,MATCH("*?",$D:$D,-1)),3,FALSE),IF($D$1="図書室にはありません","***","")) や =OFFSET(C$2,,,MATCH("*?",$D:$D,-1)-ROW($C$2)+1) という数式は、どちらもD列に文字列が入力されている最下段の行が何行目になるのかを、自動的に調べて、その行までを検索対象やリストの表示範囲とするものですので、最も下に入力されている書籍データの著者名が入力されていなかった場合や、最も下に入力されている書籍データの著者名欄に文字ではなく数値が入力されていた場合には、最も下にある書籍データを取り扱う事が出来なくなりますので注意して下さい。(要するに、著者名は必ず入力して下さいという事)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 E1セルに次の数式を入力されると良いと思います。 =IF($D$1="図書室にはあります",VLOOKUP($C$1,$C$2:$E$15000,3,FALSE),IF($D$1="図書室にはありません","***",""))

関連するQ&A

  • EXCEL 図書の検索

    宜しくお願いします。 書籍名を入れると「ある」か「ない」かを表示する。 著者名を入れると「ある」場合はその著者の本がすべて表示            「ない」場合は「ありません」と表示するようにしたい。 SHEET1 C2に書籍名を入れてクリックすると SHEET2のB2~E10000を検索して SHEET1のD2に「あります」OR「ありません」と表示する。 次に SHEET1の C4に著者名を入れてクリックすると、 SHEET2のB2~E10000を検索して SHEET1の B7~番号,C7~本の名前,D7~その本の著者,E7~分類番号が その著者の本がすべて表示される。 著者名の本がない時はSHEET1のD4に「ありません」と表示する。 SHEET2 B1に番号,C1に本の名前,D1にその本の著者,E1に分類番号が 入っています。 実際に本名や本の著者が入っているのは B2~E10000までの中に入っています。 初心者です。宜しくお願いいたします。

  • EXCEL 図書の検索(2)

    昨日質問しまして 再び質問させてもらいます。 未熟でご迷惑をおかけしますが、宜しくお願いします。 書籍名を入れると「ある」か「ない」かを表示する。→ できました。 著者名を入れると「ある」場合はその著者の本がすべて表示           →「4冊あります」と表示できましたが。             その4冊の本を具体的にSHEET1のB7~表示できませんでした。          「ない」場合は「ありません」と表示するようにしたい。→できました。 SHEET1の C4に著者名を入れてエンターをすると、 SHEET2のB2~E15001を検索して 仮にその著者の本が4冊の本が該当したとすると SHEET1の B7に番号,C7に本の名前,D7にその本の著者,E7に分類番号が B8に番号,C8に本の名前,D8にその本の著者,E8に分類番号が B9に番号,C9に本の名前,D9にその本の著者,E9に分類番号が B10に番号,C10に本の名前,D10にその本の著者,E10に分類番号が その著者の本が4冊がすべて表示される。 方法を教えてください。 SHEET2の B1に番号,C1に本の名前,D1にその本の著者,E1に分類番号と書かれ 実際に本名や本の著者が入っているのは シート2のB2~E15001までの中に入っています。 前回 解答者の方に次のように教えていただきましたが、 ここの部分を実際にやってみましたが うまくいきません。 未熟ですので、 宜しくお願いします。 シート2はデータがB2~E15001に入っている想定でやっています。 同じ著者の本をすべて出す方法 昨日のお答は次のようでした。 シート1に戻り B7に =IF($C$4="","",IF(ROW(B1)>COUNT(Sheet2!B2:B15001),"",SMALL(Sheet2!B2:B15001,ROW(B1)))) C7に =IF($B7="","",VLOOKUP($B7,Sheet2!$B2:$E15001,COLUMN(B7))) と記入、E7まで右にオートフィルドラッグしてコピー貼り付け B7:E7を下向けに適当数オートフィルドラッグしてコピー。 というお答えでしたのでやってみましたが うまくいきませんでした。 宜しくお願いします。

  • 図書館の本に著作権は?

    図書館に本が置かれると、少なからずその本の販売数に影響があると思います。 やはり図書館などに書籍を配置する場合は、その本の著者にある程度の金額が支払われるのでしょうか? また海外の図書館でも、日本の販売されて間もない小説を多く見ることができます。こういった場合にでも著者の利益は保護されるのでしょうか?

  • 資料の分類番号

    図書館で書籍を分類するときの番号だと思うのですが、分かりません。分かる方教えて下さい。 059.4 073.53 175.943 296.2091 322.1976 526.32 661.668 726.102279 913.32031 962.6 です。ヨロシクお願いします。

  • 図書館の分類の007情報科学の本

    最近図書館でPCの本を探していると 007情報科学という他の実用書とは少し離れた本棚に置いておることが多いです。 詳しいことは分からないのですが PCやWEBの本用に新しく作ったカテゴリなのかな?と思っているのですが なぜこんな他の実用書とは離れた番号なのでしょうか? 隣が図書系の本や百科事典だったりするので どうせならもともとコンピューター系の本が並んでいた番号(500番台あたり?)と 連番にしてくれればいいのにと素人考えで思うのですが 何か理由があるのでしょうか? また、元々のコンピューターの本が置いてあったカテゴリと 007情報科学のカテゴリとどのようにして本を分類しているのでしょうか? よく分かっていないので勘違いがあるかと思いますが よろしくお願いします。

  • 図書館で見る、分類番号ラベルを購入したいのですが

    図書館などでは、本の背表紙に分類番号が 書かれたラベルが貼ってありますよね? あのラベルを購入したいのですが、 どんなメーカーさんが作っているのか ご存知の方がいらっしゃれば教えて下さい。 (「伊藤伊」さんが倒産したという噂を聞いたのですが、 本当でしょうか?) 出来れば「紺色」意外のもので、 よくある「3段」に分かれているものではなく、 「4段」に分かれているものが欲しいのですが… (又は一番上の段が広くあいているもの)。 よろしくお願い致します。

  • 別のシートにデータを出す方法

    シート1に 番号 A1に1 A2に2 A3に3 A4に4 データ↓ B1に43 B2に45 B3に47 B4に55 C1に733 C2に890 C3に826 C4に94 D1に57 D2に67 D3に41 D4に52 E1に301 E2に104 E3に719 E4に441 という表があるとします。 番号1の場合は、B1の43、C1の733、D1に57、E1に301というデータです。 シート2の、 A3に、1という数字(シート1のA1の、1という番号)をいれれば、 シート2の B3に、シート1の、B1の43というデータ。 C3に、シート1の、C1の733というデータ。 D3に、シート1の、D1の57というデータ。 E3に、シート1の、E1の301というデータ。 がでるようにしたいのですが、 VLOOKUPを使ってできますか? どのような関数の立て方したらいいでしょう? XPのExcel2003です。 よろしくお願いしますm(_ _)m

  • 図書館で借りた本の破損

    飼っている犬が、私が目を離した隙に、市立図書館から借りている本の背表紙を噛んでしまいました。 背表紙の下の方の、分類番号のシールをはってあるあたりを噛んでしまい、その部分はぼろぼろになってしまいました。このような場合、その本を買って弁償するべきでしょうか?ちなみにその本は書庫からだしてきてもらった、ちょっと古そうな本です。 どうすればよいのでしょう?かなり慌てています。よろしくお願いいたします!

  • 十進分類法によるプラカードの制作について

    書店や図書館でよく見かける著者名や 分類を書いて書籍と書籍の間に挿むプラカード作りを 考えています。あまりお金をかけられませんので ラミネート加工する機器は買えず、書類をはさむ 透明のクリアホルダーを購入してきました。 A4用紙を折って大分類(100 哲学)を左側に縦書き大書、 お客様側に小分類の中で特に注目が高いものを わかりやすく横書きで数行表示しようと考えています (159 人生訓.教訓など)。 お訊きしたいのは次の二点です。 1. 薄いクリアホルダーは子供がいたずらで 引き抜きやすく、また通常利用していても落ちやすいです。 何とか抜けにくくする方法はありませんか? 2. WordやExcelなどオフィススイートで 上記のような印刷を綺麗に行う方法をお願いしたいです。 当方のやり方では印字は出来るのですが、折り線部分に 大きな余白が出来てしまいます。

  • 《エクセル》リストから同じ分類のデータのみコピーする

    いつもお世話になります。 別のシートに、下記の形のリストがあります。  列A   列B   列C   列D (商品名)(大分類)(中分類)(売上金額)  商品A   あ    A    1000  商品B   あ    B    900  商品C   い    A    800  商品D   あ    A    700  商品E   あ    C    600  商品F   あ    F    500 マクロを組んで、このリストの大分類が"あ"、中分類が"A"に該当する商品名と売上金額のみをコピーして、今開いているシートの列A・列Bに連続したデータとして貼り付けたいのですが、うまくいきません。 ご教授宜しくお願い致します。

専門家に質問してみよう