• 締切済み

【excel】2つの表を比較し、変更点を知るには?

mitarashiの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

社員の累積欠勤日数を記録したいのだと判断しましたので、A No.1の方の回答同様、「変更点がわかるような」という切り口の回答ではありません。 欠勤日数一覧表をメインにお考えだと思いますが、ご趣旨から、5月度欠勤をメインに考え、処理終了後、欠勤日数一覧表に改名してしまう方が楽と判断しました。処理の都合上、欠勤DBというブックに、両方のデータを複写し、それぞれ5月度欠勤、欠勤日数一覧表というシート名にします。 5月度欠勤に、欠勤日数一覧表と社員ナンバーが一致するものがあった場合は、5月度欠勤の日数に、欠勤日数一覧表の日数を加算します。 5月度欠勤に初めて発生した社員ナンバーのものは変化しません。欠勤日数一覧表にあって、5月度欠勤に無い社員ナンバーのデータは、5月度欠勤の方には反映されませんので、結果として切り捨てられます。 処理が済んだら、欠勤日数一覧表のシートは削除し、5月度欠勤のシートを、欠勤日数一覧表に改名します。 Accessでやれば簡単でしょうが、Excelのワークシートでやる事にチャレンジしてみました。 コードは、5月度欠勤のシートに、欠席日数一覧表の値を加算するところのみです。欠勤DB.xlsから実行すると、不安定だと言われておりますので、別のブックから実行してください。 こんな事もできるのだというご参考まで。Accessが使える環境ならば、そちらで質問すれば、もっと詳しい方が教えてくれるでしょう。 Sub test() 'Dim CN As ADODB.Connection Dim CN As Object Dim mySQL As String On Error GoTo ErrHandle 'Set CN = New ADODB.Connection Set CN = CreateObject("ADODB.Connection") CN.Provider = "Microsoft.Jet.OLEDB.4.0" CN.Properties("Extended Properties") = "Excel 8.0" CN.Open ThisWorkbook.Path & "\" & "欠勤DB.xls" mySQL = "UPDATE [5月度欠勤$] INNER JOIN [欠勤日数一覧表$] ON [5月度欠勤$].[社員ナンバー] = [欠勤日数一覧表$].[社員ナンバー] SET [5月度欠勤$].[欠勤日数] = [欠勤日数一覧表$].[欠勤日数]+[5月度欠勤$].[欠勤日数];" CN.Execute mySQL Set CN = Nothing Exit Sub ErrHandle: MsgBox Err.Number & vbCrLf & Err.Description, vbCritical If CN.State = True Then CN.Close End Sub

参考URL:
http://support.microsoft.com/kb/278973/ja

関連するQ&A

  • エクセルで外部ファイルから項目を引っ張り、一覧表(台帳)を作成したい

    エクセル形式の申請書を受領し、その一覧表をエクセルで作成したいと思っています。 申請書の形式は同じなので、名前、住所、性別などの項目を 1つ1つ一覧表にコピペすればよいのですが、 受領する度に1つ1つの項目を一覧表へ、貼り付けしなくてはなりません。 例: 申請書一覧表.xls 申請書01.xls 申請書02.xls 申請書03.xls 私が考えているやり方では、一覧表の例えばA1に申請書のファイル名(申請書01.xls)、 B1に申請書のワークシート名(sheet1)を入れれば、自動的に申請書の各項目を 一覧表の行(C1,D1,・・・)へ引っ張って来るような一覧表を作成したいと思っています。 これを実現するのに、一覧表のC1セルに、=INDIRECT("["&A1&"]"&B1&"!$C$3")  ・A1は一覧表上で申請書のファイル名(申請書01.xls)を記名したセル  ・B1は一覧表上で申請書のワークシート名(Sheet1)を記名したセル  ・$C$3は申請書01.xls内の参照項目の1つ(例:名前) で、実現をやってみましたが、 indirect関数は申請書のファイルを開いていないと出来ず、困っています。 申請書は1日に30件程度来て、一覧表だけを見て、例えば田中さんからは何件来ている とか、一覧表のみを見れば、申請書の全てが分かるように管理したいと思っています。 処理状況管理も一覧表で行いたいと思っています。 申請書一覧表.xlsは、申請書01.xlsよりも一段上のフォルダに置きたいと思っていますが、不可能なら、申請書と一緒のフォルダでも構いません。 また欲を言うと、一覧表から申請書をクリックで開けるようにできたら良いと 思っています。 良い実現方法がありましたら、教えてください。

  • AutocadへのExcel表のリンク元変更

    Autocadにて機械図面を作成しています。 Excelで作成した表をデータリンクで貼付したAutocadのテンプレートファイルを作成しました。 ・template.dwg ・集計表.xls  集計表.xlsのsheet1で作成した表が、teplate.dwgの表へリンクされている、という状況です。  形式を選択して貼り付けしたのではなく、作成/表/データリンクから作成したものです。  template.dwgでは、レイアウトにて表を貼り付けています。 このtemplate.dwgをもとに、ある具体的な図面(seisakuzu.dwg)を作成しています。  その際に、貼り付ける表のリンク元を、集計表.xls/sheet1から、集計表.xls/sheet2へ変更したい場合、どうすれば良いでしょうか。  下記の手順ではダメでした。  手順1)データリンクマネージャにて、新しいExcelリンク(集計表.xls/sheet2)を作成  手順2)autocad側で貼り付けた表のセルを選択して、プロパティからリンク元を新しいリンク元(集計表.xls/sheet2)を選択   こうすると、セルの内容が消えてしまいます。  よろしくお願いします。

  • VBAでファイル名を変更したい

    EXCEL2003のVBAでブックを連続して保存をするものを作成したのですが、スキルが足りないため、ファイル名が数字になってしまい、リネームをしたいのですが、出だしからつまずいております。 リネームをしたいブック(ファイル)は一つのフォルダに入っており、 excelのシートには旧ファイル名と新ファイル名の一覧をつくり VBAを実行すると一覧に載っているブック名が変更される というものを作りたいのですが、可能でしょうか。 一覧は 旧ファイル名  新ファイル名 1.xls      1北海道.xls 2.xls      2青森.xls という感じです。 フリーのリネームソフトではなく何とか自力でやりたいと思っております。 お力をお貸しください。 よろしくお願いいたします。

  • [Excel]別ファイルの項目内容の抽出方法

    初めまして。閲覧ありがとうございます。 今回Excelについて質問させていただきます。 Excelファイルごとに保存されている表([file1]、[file2]、[file3]、、、)があります。 この表を別ファイルに条件ごとに並べ変えて一覧化したいのですが知恵が無くまったく作業が進みません。 大変恐縮ですが、どなたか方法をご教示していただけますでしょうか。 [File1.xls]    A    B   1 商品   りんご     2 納品日  9/3    3 原価   50     4 数量   100 [File2.xls]    A    B   1 商品   みかん     2 納品日  9/10    3 原価   30     4 数量   30000 [File3.xls]    A    B   1 商品   すいか    2 納品日  9/1    3 原価   850     4 数量   200 ≪上記3ファイルを一覧化≫ [一覧化.xls]    A    B      C     D 1ファイル名 [File1.xls] [File2.xls] [File3.xls] 2 納品日   9/3      9/10     9/1       3 商品    りんご    みかん   すいか    4 数量    100      30000    200     5 原価    50       30     850 この様に仕上げたいです。 [file1]、[file2]、[file3]A行の項目と[一覧化]A行の項目の順序が違います。 [一覧化]1列目B行、C行、D行…にファイル名を入力すると簡単に一覧の作成ができればいいのですが…。。 初心者なので、説明不足&能力の無さが目立つと思いますが、 どうかよろしくお願いいたします。

  • エクセルで売上表を作るとき・・

    毎月の売上金額一覧表(商品別)を作成しています。月が替わるたびに シートを継ぎ足し 表をコピーしています。月の累計を簡単に出す方法 教えてください。

  • Excel2002のシート名がおかしくなりました

    シート名がおかしくなりました。具体的には次のような現象です。可変文字を<>で表します。 新規シート名を作成すると <ファイル名.xls>]<シート名>となる。 <ファイル名>.xls>] は、必ず頭に付いてしまう。 シート名の変更で、<ファイル名>.xls>]を削除しようとすると、シート名のエラーが表示され、変更できない。 原因として心当たりのある方がおりましたら、どうかご教授下さい。

  • [Excel]2つのファイルの異なる点を抜き出す方法を教えてください

    久しぶりにお邪魔します。 エクセルの操作について、詳しい方教えてください。 2つのエクセルファイルがあります(AAA.xlsとBBB.xlsとします) どちらにも同じような商品名がずらっと並んでいますが、AAA.xlsにはあってBBB.xlsにはない商品名だけを抜き出したファイルを作成したいのです。 例えば 「AAA.xlsの内容」 りんご みかん バナナ なし ぶどう もも 「BBB.xlsの内容」 なし みかん りんご ぶどう ⇒「バナナ、もも」を抜き出したい AAAには3万個ほどの商品名が入っていますので、手動ではとても(泣)。 よろしくおねがいします。

  • エクセルで集計表を作りたい

    A列…店舗名 B列…名前 C列…役職名 D列…保険加入有無 の表を加工して、店舗別・役職別、加入率の一覧表を作成したいのですが上手く行きません。どのような方法(関数やピポッド)で上記表は作成できるのでしょうか。おわかりになれば、ご教示下さい。 具体的には ◎◎店の社員は○名、アルバイトは○名。社員の加入者は○名・未加入者は○名で加入率○%、アルバイトの加入者は○名・未加入者は○名で加入率○%…ということがわかる、一覧表が作成したいです。まとまらない文章で恐縮ですが、お知恵をおかりできると助かります。

  • エクセルのリンク先を変更したい

    “01年度”というフォルダをコピーして新しく”02年度”というフォルダを作りました。フォルダ内のファイルは多数のファイルからセルの参照をしていたのでリンク先を変更しなければならないのですが簡単に変更する方法があったら教えてください。 (例) リンク先 …01年度\生産一覧表(01年度1月) …01年度\生産一覧表(01年度2月) : …01年度\生産一覧表(01年度12月) を リンク先 …02年度\生産一覧表(02年度1月) …02年度\生産一覧表(02年度2月) : …02年度\生産一覧表(02年度12月) 上の例でわかりますでしょうか。 VBAを使えばできると思うのですが宜しくお願いします。

  • VBA 最新ファイルをコピーし名前変更 Excel

    いつもお世話になっております。 今回やりたいことは、 ●指定フォルダの中にある全てのファイル名、更新日時を取得(自ファイル以外) ●シートに記述 ●最新ファイルをコピー ●コピーしたファイル名称を変更 ※ファイル名の数値部分のみ変更 になります。 例1)C:\TEST C:\TEST\TEST1.xls 更新日時2013/11/11 C:\TEST\TEST2.xls 更新日時2013/11/12 C:\TEST\TEST3.xls 更新日時2013/11/14 ⇒C:\TEST\TEST4.xls を作成 例2)C:\TEST C:\TEST\2013TEST11_11.xls 更新日時2013/11/11 C:\TEST\2013TEST11_17.xls 更新日時2013/11/15 C:\TEST\2013TEST11_19.xls 更新日時2013/11/18 ⇒C:\TEST\2013TEST11_20.xls を作成 例3)C:\TEST C:\TEST\TEST1(2013_11_11).xls 更新日時2013/11/16 C:\TEST\TEST2(2013_11_15).xls 更新日時2013/11/21 C:\TEST\TEST3(2013_12_01).xls 更新日時2013/12/01 ⇒C:\TEST\TEST4(2013_12_11).xls を作成 Inputboxが出てきて、 数値の部分のみ変更ができるというのでも良いのです。 最新ファイルを取得し、コピーして名前を変更がしたいのです。 できれば、ファイル名の法則?に従って数値のみ編集したいと思っています。 やはり、難しいでしょうか? 回答よろしくお願い致します。