質問: エクセル(excel)で貸し出し管理表を作りたいのですが・・・ エクセル(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が同じ品の場合、貸し出し、返却の動きがあった場合、 上部表には常に最新の状態が入ってくるようにしたいのです。 このようにしたいのですが、どのようにしたら良いでしょうか? 教えてくださいますようお願いいたします。
回答: 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セルで指定した貸出品の最新のデータが表示されます。