
エクセル(Excel)で貸し出し管理表を作りたいのですが・・・
以下のようなことをしたいのですが、どのようにしたら良いでしょうか?教えてくださいませ。
1つのシート内の上部に、以下のような表があるとします。
┌──────────┐
│貸出品 │ NO1 │
│──────────│
│貸出時刻│15:00│
│──────────│
│返却時刻│16:00│
└──────────┘
下部には以下のような入力用の表があるとします。
┌────────────────┐
│貸出NO│貸出時刻 │返却時刻 │
│────────────────│
│ 1 │15:00│16:00│
│────────────────│
│ 1 │16:30│17:30│←(A)
│────────────────│
貸し出し管理用のファイルを作りたいのですが、上記のように最初にNO1を貸し出した際に、
貸し出しNO欄には「1」を入力して、貸し出し時刻を入力します。
その後、返却された際には返却時刻を入力します。
次に、返却されてから30分後(16:30)に再度NO1を貸し出し・返却があったとします。
その際には(A)欄のように入力するわけですが、
入力された際に、上部の表が以下のようにかわるようにしたいのです。
┌──────────┐
│貸 出│ NO1 │
│──────────│
│貸出時刻│16:30│
│──────────│
│返却時刻│17:30│
└──────────┘
つまり、貸し出し品NOが同じ品の場合、貸し出し、返却の動きがあった場合、
上部表には常に最新の状態が入ってくるようにしたいのです。
このようにしたいのですが、どのようにしたら良いでしょうか?
教えてくださいますようお願いいたします。
No.5ベストアンサー
- 回答日時:
こんにちは!
外していたらごめんなさい。
A列は全ての貸出NOが入力されるとしています。
↓の画像のF2・F3セルに入る数式はいずれも配列数式になってしまいますので、
この画面からコピー&ペーストしただけではエラーになると思います。
F2・F3セルに貼り付け後、F2キーを押す、又は貼り付けセルをダブルクリック、又は数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrl+Enterキーで確定します。
数式の前後に{ }マークが入り配列数式になります。
F2セルに
=IF(F1="","",INDEX($B$2:$B$100,LARGE(IF($A$2:$A$100=$F$1,ROW($A$1:$A$99)),1)))
としてShift+Ctrl+Enterキーです。
同じくF3セルに
=IF(F1="","",INDEX($C$2:$C$100,LARGE(IF($A$2:$A$100=F1,ROW($A$1:$A$99)),1)))
として配列数式!
これでB・C列のデータの中で、F1セルに入力された貸出NOの一番したの行が表示されます。
尚、数式は100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてください。
以上、参考になれば良いのですが
的外れなら読み流してくださいね。m(__)m

No.4
- 回答日時:
A1セルに貸出品、A2セルに貸出時刻、A3セルに返却時刻と入力し、B1セルには例えばNO1と入力します。
A6セルには貸出NO、B6セルには貸出時刻、C6セルには返却時刻の文字列をそれぞれ入力します。
その下の行には例えばお示しの入力データがあるとします。
そこで作業列としてE7セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A7="","",A7&"/"&COUNTIF(A$7:A7,A7))
最後にB2セルに次の式を入力し、B3セルまでオートフィルドラッグします。
=INDEX(B:C,MATCH(RIGHT(B$1,LEN(B$1)-2)&"/"&COUNTIF(A:A,RIGHT(B$1,LEN(B$1)-2)),E:E,0),ROW(A1))
B2セルからB3セルのセルの表示形式を時刻に設定することでB1セルで指定した貸出品の最新のデータが表示されます。
No.3
- 回答日時:
今仮に、上部の表が入力されているセル範囲をA1~B3、下部の表が入力されているセル範囲をA5~C99とします。
まず最初に、2つの表が入力されているファイル内の適当な場所に、下部の表と同じ行数を持つ、縦1列の表を作って下さい。(印刷や表示の邪魔にならない場所が良いと思います。別のシートでも可)
ここでは仮に、D5~D99の範囲に作る事にします。
そして、D6セルに
=IF(A6="","",A6&"番"&COUNTIF(A$6:A6,A6))
という数式を入力して下さい。
D6に数式を入力した後、D6セルを、D7セル~D99セルにコピーして下さい。
次に、B2セルに
=INDEX($B$6:$C$99,MATCH(SUBSTITUTE(B$1,"NO","",1)&"番"&COUNTIF($A$6:$A$99,RIGHT(B$1,LEN(B$1)-2)),$D$6:$D$99,0),1)
と入力して下さい。
続いて、B3セルに
=INDEX($B$6:$C$99,MATCH(SUBSTITUTE(B$1,"NO","",1)&"番"&COUNTIF($A$6:$A$99,RIGHT(B$1,LEN(B$1)-2)),$D$6:$D$99,0),2)
と入力して下さい。
以上で完了です。
尚、上下の表中の、貸出時刻や返却時刻の欄は、[セルの書式設定]の[表示形式]を、全て共通にして下さい。
この数式は、下部の表の「貸出NO」の欄に入力される一連の番号(又は文字列)の中に、B1セルに入力されている文字列から、「NO」の文字列を削除した文字列が、存在している複数の行の中の、最も下に位置する行を探し出して、その行の貸出時刻や返却時刻を表示しております。
ですから、B1セルに入力されている文字列を、「NO1」を「NO2」に変えると、貸出NO2の最後の貸出・返却時刻を表示します。
しかし、「NO1」を「NO.1」や「NO1」に変えたり、B1セルと「貸出NO」の欄に入力される一連の番号の中に、全角文字と半角文字が混ざり合っている場合には、正常に動作しませんので、御注意願います。
後、数式中の
番
と書かれている部分は、仮に決めたものですから、貸出NOに使用する可能性のない文字列であれば、他の文字列に変更されても構いません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
別シートの年間行事表をカレン...
-
Office2021を別のPCにインスト...
-
outlookのメールが固まってしま...
-
大学のレポート A4で1枚レポー...
-
office2019 のoutlookは2025年1...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
マクロ自動コピペ 貼り付ける場...
-
Microsoft Formsの「個人情報や...
-
Teams内でショートカットって貼...
-
Excel テーブル内の空白行の削除
-
ms teamsの日々のスケジュール...
-
エクセルで質問です。 ハイパー...
-
エクセルマクロ(超初心者)
-
エクセル 同じ数字を他の列に自...
-
Officeを開くたびの「再起動メ...
-
Microsoft365で自動保存が出来...
-
1つのPCに「Excel 2010」「Exc...
-
Excel VBA 日程表からスケジュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報