• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで一定数毎に数値を追加したい)

エクセルでビデオテープの管理方法は?

このQ&Aのポイント
  • エクセルを使用してビデオテープの撮影情報と箱番号を管理する方法について解説します。
  • LとSの2種類のテープを10本ずつの箱に管理し、テープと箱の関連性をエクセルで自動的に管理する方法をご紹介します。
  • エクセルの関数やVBAを使用して、10本ごとにテープのシリアルナンバーと箱番号をマッチングさせる方法を説明します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

A列に年/月/日で撮影日,B列に箱番号,E列にテープ種別が記入されているとして 今やりたいことは 1)テープ種別ごとに 2)撮影日によって年番号を付加し 3)その10本ごとに箱番号を付加したい です。 B2: =IF(A2="","",E2&YEAR(A2)&TEXT(CEILING(COUNTIFS($E$2:E2,E2,$A$2:A2,">="&DATE(YEAR(A2),1,1)),10)/10,"-0000")) と記入,以下コピーして埋めておきます。

cameragenjin
質問者

お礼

本当にありがとうございました。 書いて下さったプログラム?をこちらのエクセルに貼り付けて、何度もエラーを重ねながら セルの位置の調整を行ったらプログラムが動き数値が目的通り自動入力できました。 ありがとうございました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばA1セルに撮影日、B1セルに箱番号、C1セルに撮影日、D1セルにタイトル、E1セルにテープ種別の項目名がそれぞれ入力されており各データは2行目から下方に入力されるとします。 E列のテープ種別ではSやLの文字を入力するとします。 そこでB2セルには次の式を入力して下方にドラッグコピーします。 =IF(E2="","",E2&"2013-"&TEXT(ROUNDUP(COUNTIF(E$2:E2,E2)/10,0),"0000")) これでE列にはSやLが10本ごとに箱番号が変わって表示されます。

cameragenjin
質問者

お礼

ありがとうございます。 非常に助かりました。 自分には意味が理解出来ませんが、本当に助かりました。 勉強すればもっと仕事が効率化できると感じました。

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.1

今、第1行目に以下のような項目があり、 撮影日  箱番号  撮影場所  タイトル  テープ種別 2行目以降の「テープ種別」(=「E」列)に以下のようなデータが 入力されたとします。 L S S S L L S L L L S S L S S S L L S L S S L L L S S S L L S L L L S S L S S S L L S L S S L L この条件下で、以下の「VBA」を実行すると、 Sub Sample() Dim r, l, n, s, i, u As Integer Dim m, t As Single Dim c As String r = Range("E1").End(xlDown).Row l = 0: n = 0 s = 0: u = 0 For i = 2 To r   c = Cells(i, 5).Value   If c = "L" Or c = "l" Then     l = l + 1     m = l Mod 10     If m = 0 Then       n = n + 1       Cells(i, 2).Value = "L2013-" & Right("0000" & CStr(n), 4)     End If   ElseIf c = "S" Or c = "s" Then     s = s + 1     t = s Mod 10     If t = 0 Then       u = u + 1       Cells(i, 2).Value = "S2013-" & Right("0000" & CStr(u), 4)     End If   End If Next i End Sub 「L」や「S」がそれぞれ10個目ずつの行の「箱番号」(=「B」列)に 以下の内容が自動的に出力されます。 S2013-0001 L2013-0001 S2013-0002 L2013-0002 これが、思っておられる処理に間違いないか分かりませんが… なお、プログラムが、余りにも美しくありませんが、 ご容赦ください。 最後に、何より、このプログラムでは、 実行するたびに、すでに処理が済んでいる所を(例えばL2013-0001) 何度も書き換えるという、無用なことをしているように思えますし、 何より、このままだと、「L」や「S」を直して、再びプログラムを実行すると、 前の「L2013-0001」という表示が残ったままになってしまうので、 手作業で消しておく必要があります。 そう考えると、余りにも不完全なプログラムですが、、 よかったら、参考にしてください。

cameragenjin
質問者

お礼

これは、VBAというものですよね こういうことも含めて、書ける方はすごいなと感じました。 エクセルを入力にしか使用していなかったので色々簡略化させて、 正確に行えるのだと感じました。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう