Excelの関数が得意な方、どうか教えて頂きたいことがあります。
会社の備品の、貸出し表を作成してほしいとボスに頼まれました。
作ったシートは添付したものとほぼ同じで、とても簡単なものです。
Sheet1に、備品と貸出し状態。
sheet2~ Sheet1にのせた備品の、貸出し帳(誰がいつ借りて、いつ返したかを入力)。
ひとつのSheetに、ひとつの備品の貸出し帳です。
履歴がずっと残ります。
このsheetで、以下のことができるようにしたいのです。
(1)Sheet1の「状態」のところには、貸出し帳に何も入力がない場合は、常に貸出し可と表示される
(2)貸出し帳の「貸出し日」に入力が入るとsheet1の「状態」は「貸し出し中」に変化する。
(3)備品が返却され、「返却日」に入力が入ると、またsheet1の「状態」はまた、貸出し可に戻る。
以下この繰り返し。
難しいのですが、これは関数で対応可能でしょうか?
インターネットでいろいろ調べて、この関数使えそうかな?と思ったのをいろいろ試してますが、
なかなかうまくいきません。
(たとえば、Sheet2のセルC15に入力が入った場合のみ・・なら、うまくいくのですが、
私がやりたいのはセルC15以下のどこでも、入力が入ったら貸出し中に切り替わってほしいのです。そして、E15以下のどこでも、入力が入ったら貸出し中に戻ってほしいのです。
このあたりがうまくいきません。
複数セルを選択すると、とたんにエラーになります。
どなたか詳しい方、Sheet1の「状態」のセル(C3以下)に入れる計算式はどうなるのか、
教えて頂けると嬉しいです。
No.4ベストアンサー
- 回答日時:
ANo.3です。
済みません、後から気づいたのですが、Sheet1の管理No.欄に、各備品のシートの中には存在しない管理番号を入力した際にも、「貸出可」となっておりました。
その様な事が無い様にするために、Sheet1のC5セルに入力する関数を次の様なものに変更して下さい。
=IF(ISERROR(INDIRECT("'"&INDEX($D:$D,ROW())&"'!IV65536")),"",IF(IF(ISNUMBER(1/(MATCH(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"))>MATCH("貸出日",INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"),0))),ISNUMBER(1/(MATCH(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"))>MATCH(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!E:E")))),FALSE),"貸出中","貸出可"))
それから、Sheet1のB5セルに入力する関数に関してですが、ANo.3で挙げさせて頂いた関数でも、問題なく動作致しますが、次の様にした方が、より適切だと思います。
=IF(INDEX($D:$D,ROW())="","",IF(ISERROR(INDIRECT("'"&INDEX($D:$D,ROW())&"'!IV65536")),"【該当No.無し】",INDIRECT("'"&INDEX($D:$D,ROW())&"'!B3")&""))
尚、ANo.3では説明してはおりませんでしたが、添付画像に写っているExcelBookの例では、Sheet1のB5以下のセルに対して、セルの値が
="【該当No.無し】"
となった場合に、文字の色を赤に変える様にする、条件付き書式を設定しております。
めちゃくちゃ丁寧な回答!!びっくりしました。
これだけの内容を説明してくださるのに、とてもお時間がかかっただろうに、見ず知らずの者にこんな親身になって頂き、ありがとうございます!
こちらの関数も、成功しました!ひとりであれだけ時間をかけてもだめだったのに、ここで聞いたらものの1日たらずで解決してしまいました。ほんとにもっと早く聞けばよかった・・・・
お二人にベストアンサーを差し上げたいですが、ここまで詳細に説明してくださって感激したので、
kagakusukiさんをベストアンサーにさせて頂きました。
でも、お二人に大感謝しています。
ほんとにほんとにありがとうございました!!!
No.3
- 回答日時:
まず、各貸出品目のシートのシート名がSheet2やSheet3としたままでは、貸出や返却が行われて、記録を残さなければならなくなった際に、どのシートにどの品目の記録を残せば良いのかが解り難いため、作業に手間取る事になるかと思います。
ですから、各貸出品目のシートのシート名を、111や112と言った管理No.と同じ名称にして下さい。(備品名と同じにしますと、シート見出の幅が長くなり過ぎる恐れがあります)
又、、各貸出品目のシートのB3セルには、その品目の備品名を入力する様にして下さい。
上記の2点の条件は、Sheet1に自動表示させる際のデータとして用いますから、必ず行って下さい。
その上で以下の様に致します。
まず、各貸出品目のシートの雛型となる「雛型」シートを作成します。
この雛型シートのB列は、使用者名の入力欄として使用し、C列は貸出日の入力欄、E列は返却日の入力欄として使用するものとし、C14セル(C列のセルでさえあれば、14行目以外の別の行でも構いません)には「貸出日」と入力されているものとします。
又、Sheet1の表では、D列が「備品を指定するために管理No.を入力する」ための管理No.欄、Sheet1のその他の列は自動的に情報を表示させるための欄で、B列が備品名欄、C列が「貸出中」なのか「貸出可」なのかを表示する状態欄、E列が「状態が貸出中」の場合において最後の貸出日を表示させるための貸出日欄、F列が「状態が貸出中」の場合において最後の使用者を表示させるための使用者欄とします。
そして、Sheet1のB5セル(B列の「備品名」と入力されているセルの直ぐ下のセルでさえあれば、B列の別の行のセルに入力しても構いません)に次の関数を入力して下さい。
=IF(INDEX($D:$D,ROW())="","",IF(ISNUMBER(ROW(INDIRECT("'"&INDEX($D:$D,ROW())&"'!A1"))),INDIRECT("'"&INDEX($D:$D,ROW())&"'!B3")&"","【該当No.無し】"))
次に、Sheet1のC5セルに次の関数を入力して下さい。
=IF(INDEX($D:$D,ROW())="","",IF(IF(ISNUMBER(1/(MATCH(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"))>MATCH("貸出日",INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"),0))),ISNUMBER(1/(MATCH(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"))>MATCH(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!E:E")))),FALSE),"貸出中","貸出可"))
次に、Sheet1のE5セルに次の関数を入力して下さい。
=IF(INDEX($C:$C,ROW())="貸出中",LOOKUP(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C")),"")
次に、Sheet1のE5セルの書式設定の表示形式を[日付]の
2001年3月14日
として下さい。
次に、Sheet1のF5セルに次の関数を入力して下さい。
=IF(INDEX($C:$C,ROW())="貸出中",LOOKUP(9E+99,INDIRECT("'"&INDEX($D:$D,ROW())&"'!C:C"),INDIRECT("'"&INDEX($D:$D,ROW())&"'!B:B")),"")
次に、Sheet1のB5~F5の範囲をコピーして、同じ列の6行目以下に貼り付けて下さい。
次に、雛型シートのコピーシートを、各貸出品目の数だけ複製して下さい。
次に、それらのコピーシートのシート名を、各々の管理No.と同じ名称に変更して下さい。
次に、そうして作った各備品毎のシートのB3セルに、各備品の名称を入力して下さい。
次に、Sheet1のD列に各品目毎の管理No.を並べて入力して下さい。
以上で準備は完了で、後は、各備品のシート毎に、貸出履歴の情報を入力しますと、Sheet1に「備品名」、貸出の「状況」、それに貸出中の場合には、最終の「貸出日」と現在の「使用者名」が、自動的に表示されます。
後、それから、印刷した際に解り易くするためにも、各備品のシートの適当なセル(ここでは仮にE3セルとします)に、管理No.を入力・明記しておいた方が良いと思います。
その際には、シート名と管理番号は同じなのですから、雛型シートを作成する際に、「管理No.(=シート名)」を表示させるセルに、次の関数を入力しておきますと、シート名に合わせて自動的に表示が変更されますので、一々入力し直す手間が省けますし、管理番号の記載を変更し忘れる恐れもなくなりますので、便利です。(下記の関数はE3セルに入力する場合のものです)
="管理No.:"&REPLACE(CELL("filename",E3),1,FIND("]",CELL("filename",E3)),)
No.2
- 回答日時:
No.1です!
たびたびごめんなさい。
画像をよくよく見ると備品はもっとたくさんあるわけですね?
それでは1セルずつ数式を入れるのも大変ですので、
前回の方法でOKだとすると、
Sheet2以降のSheet名がSheet1のB列に表示してあるSheet名(各備品のSheet名)になっていれば
Sheet1のC3セルに↓の数式を入力しオートフィルで可能です。
=IF(COUNT(INDIRECT(B3&"!C:C"))=COUNT(INDIRECT(B3&"!E:E")),"貸出可","貸出中")
※ 各Sheetとも同じ配置だという前提です。m(_ _)m
こんなことなら、もっと早くここで質問すればよかったと思いました!
すごいです。あっという間に成功しました~!
ほんとに感謝です。ありがとうございます。
みなさん、ほんとに関数を使いこなしていてすごいの一言です。
お二人にベストアンサーを差し上げたいですが、一人にしかあげれないなんて、ほんとに悲しい。
でもものすごく助かりました。
ほんとにほんとにありがとうございました!
No.1
- 回答日時:
こんばんは!
Sheet2・Sheet3ともC・E列はシリアル値が入るとして・・・
Sheet1のC3セルに
=IF(COUNT(Sheet2!C:C)=COUNT(Sheet2!E:E),"貸出可","貸出中")
C4セルに
=IF(COUNT(Sheet3!C:C)=COUNT(Sheet3!E:E),"貸出可","貸出中")
としてみてはどうでしょうか?
※ Sheet2・Sheet3のC・E列は他に文字列セルがあっても良いのですが、
数値セルはない!という前提です。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
図書管理の表をExcelで作るのですが‥‥
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルの文字
-
VBA シートの内容の範囲を指定...
-
エクセルで1月0日と表示される!!
-
Excelのファイル容量が減らない...
-
Excelで複数シートの選択セルを...
-
エクセルで複写のように自動入...
-
オプションボタンを別シートに連動
-
(Excel)あるセルに文字を入力...
-
別シートのセルを絶対参照にする
-
ExcelでTODAY関数を更新させな...
-
マクロ 新しいシートにデータ...
-
複数シートの同じセル内容を1シ...
-
現在時刻をリアルタイムで更新...
-
EXCEL リストボックスのRowSouc...
-
Excelシートの保護時にデータの...
-
エクセル表の任意の列を、別の...
-
excelでハイパーリンクになって...
-
エクセルでデータを蓄積させる...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
Excelで複数シートの選択セルを...
-
エクセルで1月0日と表示される!!
-
別シートのセルを絶対参照にする
-
エクセルで条件に一致したセル...
-
Excelシートの保護時にデータの...
-
Rangeメソッドは失敗しました。...
-
エクセルで別シートからの最大...
-
複数シートの同じセル内容を1シ...
-
エクセルで20万行あるシート...
-
エクセルで複写のように自動入...
-
エクセルの文字
-
VBAで変数に関数式の結果をセッ...
-
ExcelでTODAY関数を更新させな...
-
Excelでスクロールすると文字が...
-
エクセルで、加筆修正したセル...
-
Excelのファイル容量が減らない...
-
エクセルのルビがついたセルを...
-
シート参照で変数を使いたい(EX...
おすすめ情報