• 締切済み

エクセル各シートの連動修正方法」

エクセルで会員名簿を作成しました。いろんな観点で掌握する必要があるため、入会別、年齢別、所属別等々、原本シートから別シートにコピーして並び替えをして管理しています。 ただ、入退会の移動があったり、所属が変更になったり、資格昇格があったりする時があるがその都度各シートを個別に修正補足しています。例えば、原本シ-トを修正したら、その他のシートも連動して修正できるような方法は無いでしょうか?

みんなの回答

回答No.4

kseiking 様へ 私の理解不足がありました。申し訳ありません。 削除を行うと参照されているシートはエラーが表示 されるようです。 仮定で作成したシートでも結果が同じでした。 さらに”リンク貼り付け”という方法と用いても、 削除を行うとエラー表示となることがわかりました。 ※”リンク貼り付け”のほうが難しくないことも 新たにわかりましたのでこちらで説明します。 参考URL:http://homepage1.nifty.com/kenzo30/ex_kisopoint/onepoint_hensyu2.htm #3のお話があったようにエクセルでは表現方法に 限界があります。よって限界までがんばりますが それにともなって隠れた労力が発生します。 頻繁に削除や追加をされるデータでしたらアクセスや #2でご説明しましたとおり、エクセルの会員データを 探されたほうがよりよい結果が出ると思います。 では、リンク貼り付けで行う場合でご説明します。 定義は2#とかわりありません。データ全てを コピーします。その際、列毎にコピーし 並び替えを行うシートに”リンク貼り付け”を 行うときれいに一番下まで参照されます。 削除は、 データは、行削除ではなく、”書式と値のクリア” にします。 1)会員名簿の削除したい会員の行を選択し、 右クリックで表示されますので、選択すると 消去されます。行は空欄で残ります。 並び替えは、 1)会員番号は降順 2)指定項目の並び替えを指定。最大2箇所までですね で行うことにより会員番号の”0”表示されたもの つまり、会員名簿からクリアされたものは一番下に なります。 3)次に ”ツール”→”オプション”→”表示”で ”0値”のチェックボックスを外します。 4)0値がすべて表示されなくなりますが、これで 会員名簿で削除(この場合は”書式と値のクリア” ですが)を行った場合でも並替シートには影響が でずに並替だけでエラーは表示されなくなると 思います。 ※追加・削除・修正を行った場合は必ず 並び替えをすることが原則となります。 ※マクロで並替処理を作成すると その負担は減ります。ぜひ一度原本を コピーの上、マクロ処理はお試し下さい。 自分も勉強している立場であまり良い結果が 得られず申し訳ありません。 無事成功することを祈ってます。

  • Zero_0
  • ベストアンサー率35% (72/201)
回答No.3

回答ではありませんが・・ このような使い方はよくありますね、データベースとしての考えをもたれるといろいろなことができると思います。#2の方のアドバイスのように会員名簿を1つだけ作成して、その名簿からいろいろな条件でのサブ名簿を作成するといった方がよいと思います。 しかしながら、Excelでは限界を感じるところが出てきます。 Access等のデータベースソフトはお持ちではないでしょうか。Excelの再計算、表示速度の遅さが解消されデータ変更時の操作がはるかによくなります。 やはりデータ管理は、データベースソフトかなと思い私も使っております。

kseiking
質問者

お礼

ありがとうございます。 ただ、Accessは使ったことないのでまずソフトを取得して勉強してみます。難しいことはないんですよね?

回答No.2

関数のVLOOKUPというのをご存知でしょうか? 合致するデータから指定されたセルを表示するというものです。 参考URL:http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html ※具体的に 1)ベースを会員名簿とします。 2)その会員名簿のなかで絶対番号を決めます。具体的にいうと会員1人にひとつしかない番号です。 3)次に入会別など並替用シートでその絶対番号を元に関数VLOOKUPで会員名簿を表示します。その後並び替えをしご利用することが可能です。 4)会員名簿を変更すると該当データも表示が変更されます。 ほかにもエクセルをベースで作られた管理データがあります。ベクターなどで検索され、お試しされるのも良いか思います。 参考URL:http://www.vector.co.jp/

kseiking
質問者

お礼

ありがとうございます。早速 =VLOOKUP(sheet1!$A1,sheet2!$A&1:sheet1!$J$50,2)で列セル移動の都度3 4 5 ・・と改正して行を完成し、その行をコピーして2 3・・行と50行まで原本をもとに第2シートに同内容の名簿が出来上がりました。そして、データの補正や修正にも対応できました。ヤッターありがたいと歓んだんですが、並び替えや削除したりすると検査値とその行のデータが連動して並び替えしなかったりして表のデータが崩れがっかりしてます。何か見落としがあるんでしょうか? 後一歩まで来たと思ったんですが・・・。

noname#129708
noname#129708
回答No.1

私も良く似たことをしています。 シートをコピーするのではなく、セルをコピーしたほうが良いと思います。 たとえば「シート1」の「A1」~「E50」までをコピーして、「シート2」に形式を選択して貼り付け。 そのシート2をシート3、シート4とコピーしていきます。 シート1のA1を削除すれば、シート2,3も削除されます。

kseiking
質問者

補足

早速の回答ありがとうございます。 アドバイスの通り「形式を選択して貼付け」の【すべて】にチェック入れ別シートにコピーし、目的別に並び替えをしました。そして原本のセルデータを修正したり削除してみたんですがコピーシートのデータはそのままなんです。どこかの手順が誤ってるんでしょうか?

関連するQ&A

  • Excel VBA で条件を満たしたセルの値を別のシートに貼り付けるには?

    VBA初心者です。700行くらいあるリストの中から所属別の名簿を作りたいのですが、マクロを使えば簡単に出来ますか? データは、 A列にNO.、B列に氏名、C列に所属 となっていて、C列の所属ごとにSheet2,Sheet3・・・にB列の氏名だけの名簿を作りたいのです。 例えば、C列が”総務課”の人の氏名(B列)をSheet2のCell("A2")から行方向に、C列が”会計課”の人の氏名はSheet3のCell("A2")から行方向に という感じです。 Do~Loop を使ってみたり、If~Then を使ってみたりするのですがうまく貼り付けられません。 データの最終行が変化するので範囲の指定もよく分かりません。 どなたか教えて下さい。

  • エクセル関数(マクロ) 抽出方法について

    列A~Dに職員NO、所属、家族、名前の入っている名簿(左側)を、並び替えをする際に、下記右表のように、家族区分の”1”のみを取り出して、一人一レコードにしたいのですが、何か良い関数とかまたはマクロでの考え方とかをお教えいただければと思います。 (元シート)|(抽出シート) 職員No.|所属|家族|氏名| 職員NO順 120 002 1 B | A 120 002 2 B | B 134 010 1 C | C 134 010 2 C | D 134 010 3 C 152 050 1 D | 所属・職員NO順 152 050 2 D | B 152 050 3 D | C 152 050 4 D | D 152 050 1 D | A 100 200 1 A ※出来ればオートフィルタを使用せずに関数や マクロで対応したいと考えています。

  • Excelで特定も文字を含む行全てを、別のシートに抽出する方法を教えて

    Excelで特定も文字を含む行全てを、別のシートに抽出する方法を教えてください。 Excel2007で名簿を作成しています。 それぞれに、ある条件で「A」「B」「C」と3つに分類しています。 それぞれの分類ごとに、別シートに一括して抽出する方法をご教示ください。 例 Sheet1には (所属名)(コード)(氏名)(コード)(資格)(コード)(年数)(ランク)など14項目あります ※コードの一部には入力規則を使用したブルダウンで選択したり、lookup関数で、数字を入力すると所属名が表示されるようになっています 抽出条件となるランクは、年数のセルが●●以上であれば「A」、●●以下であれば「B」という関数を使用しています。 名簿に入力するごとに、「A」「B」「C」と別のシートに抽出させたいのです。 こちらのサイトでいろいろ検索し参考に試してみましたが、抽出できませんでした。 関数でもマクロでもいいので、抽出する方法を教えてくださると大変嬉しいです。 宜しくお願い致します。

  • excelで名簿作成#REF!表示されます??

    最近PCを始めたばかりのexcel初心者です。 100名程の名簿を作成しています。 こちらのサイトを参考にしながら四苦八苦して作成しましたが、1名退会したため支所名簿:退会者のセル行を削除したところ不具合が出たので躓いています;  先ず・・ 2枚のsheetを使用して支所名簿から宛名にリンク? *支所名簿のsheetの一覧表には“名簿”と名前をつけています。 sheet名【支所名簿】には A1  B1  C1  名前 〒  住所 sheet名【宛名ラベル】 A1 A2  A3 〒 住所 名前 支所名簿の名前のセルさえ指定すれば 〒・住所は表示されるように作成しました。 数式は・・ A1に『=IF(COUNTIF(名簿,A3),VLOOKUP(A3,名簿,1,FALSE),"") A2に『=IF(COUNTIF(名簿,C1),VLOOKUP(C1,名簿,2,FALSE),"") A3に『=支所名簿'!A1』 退会した人(セル:A1)を消すために、支所名簿A1の行を削除すると【宛名ラベル】のC1に#REF!となります。 支所名簿のsheetで退会者を削除すると宛名ラベルのSheet も順送り(エラーのラベルが出ない)に出来る方法はないのでしょうか? (市販の宛名ラベルでの作成は使用できないので、excelで作成です) また、別の方法でも有れば ご伝授頂きたく宜しくお願いいたします。

  • エクセル2010 合計値について

    お世話になります。 添付画像のように下記4つのシートで構成されたエクセルファイルがあります。 【名簿 シート】 【テスト1 シート】 【テスト2 シート】 【合計 シート】 【名簿 シート】をデータベースとして、名前及び所属を他のシートが参照 している状態です。 表示の順番を変更しなければ添付画像(1)のようにBさんの合計値も問題無いの ですが、例えば【テスト2 シート】で順列を変更することで、 【合計 シート】の参照セルの位置は変わらないため、添付画像(2)のように Bさんの合計値にDさんの点数が合わさってしまいます。 途中でシートの順番を並び替えても対象となる人に対して数字が連動して 合計値が算出される関数はどのように組めば宜しいでしょうか? ≪目的≫ セルの数値を入れ替えても“対象者=点数”を選択する計算式を作りたい。 そのために【合計 シート】のBさん(S6)に正しい計算式をいれる。 宜しくお願い致します。

  • エクセルで、定型の表に別シートの名簿にある名前を順番に挿入して印刷

    エクセルで、定型の表に別シートの名簿にある名前を順番に挿入して印刷をしたいのです。その際マクロの印刷ボタンを1回クリックするだけで完了できるとよいのですが、どのようにするのが効率がよいかご教授下さい。 名簿の名前は増えたり減ったりするのですが、そのたびにマクロの修正をしなくてもよいようにしたいです。 表は、定型のシートのA5に別シートのA1~A10の内容を順番に計10枚印刷する、というものです。ただ、現在はA1~A10ですが、印刷の機会によりA1~A3までしかデータがないという場合もあり、この場合は印刷がA3までの3枚で終わるようにしたいのです。

  • エクセル シート自動 マクロ

    以前作っていたエクセルの自動シートです http://okwave.jp/qa/q9223527.html 今回別のエクセルを作ることになり 助けてほしいのですが シート1 名簿 A1に「=TODAY()」いれ日付表示  B列 C列  D列   E列以降に非表示にして隠しておく             変更があるときにボタンで再度表示して入力する 1 氏名  ボタン1 (生年月日・年齢・基礎体重・身長・握力・など)  2 氏名  ボタン2 (生年月日・年齢・基礎体重・身長・握力・など)  3 氏名  ボタン3 (生年月日・年齢・基礎体重・身長・握力・など)  4 氏名  ボタン4 (生年月日・年齢・基礎体重・身長・握力・など)  5 氏名  ボタン5 (生年月日・年齢・基礎体重・身長・握力・など)  のみ記載がある シート2 情報原本 それぞれの項目がある C1氏名・C2生年月日・C3年齢・C4基礎体重・C5血圧など D1   D2  ・・・・  などいろいろ情報を記入する場所を作る予定 シート1 それぞれボタンを作成 ボタン1~5をそれぞれ押した時、シート2(情報原本)をコピーして別シートにして 新しく名前を付けそれぞれのボタンに記録されている基本情報(氏名・生年月日・年齢 ・目標体重)が自動的に指定されたところに入力され作成されるものを作りたいのですが 毎日それぞれ人の情報シートを作り管理していこうと思っているため ボタン管理できたらうれしいのですが 助けてください

  • マクロ(VBA)について

    会社のアルバイトスタッフの従業員名簿をマクロを用いたexcelで作成しています。 ボタンひとつで別シートの雇用契約書にデータが反映されるようになっています。(VBAで作成?しています。) 年度ごとに従業員名簿のファイルを作成しているのですが、新年度の従業員名簿ファイルの雇用契約書のシートに列を増やしたところ、昨年度の従業員名簿の雇用契約書シートもズレてしまいました。 従業員名簿を作成した人が退職してしまい、修正の仕方がまったくわかりません。 マクロを設定しているファイルをコピーすると、2つのコピーは連動されるのでしょうか? VBAがまったくわからず苦戦しております。 表現がわかりずらくて申し訳ありません。よろしくお願いします。

  • エクセルで一度の入力で別のファイルにデータを保存したい

    わかりにくい表現で申し訳ないのですが、可能であれば下記のやり方を教えてください。 原本となるファイルに住所を入れて作成した後、その都度名前をつけて保存して資料を作成しているのですが、 そこに住所を入力した際に、住所データだけを別のファイルに自動的にとばして、名簿を作るというようなことはできますか? その資料を作成する際に同時に名簿にも入力すればいいのですが、どうしてもモレが出てしまい、 複数の人間がその資料を作成する為モレの確認がしづらく、出来れば一度の入力ですませたいのです。 データをリンクすればいいのかなと思ったのですが、 原本資料をその都度別の名前で保存していくので、名前が一定していないファイルのデータをリンクさせられるのかということ、 名簿のファイルに住所データを飛ばす際に、行を変えていくやり方がわかりませんでした。 要は、資料作成(そのファイル中のシートはデータを色々リンクさせています)と名簿の作成ができればいいので、 資料から名簿にデータを飛ばすことにはこだわってはいません。 もしもっと簡単にできる方法があれば、そちらも教えていただければ嬉しいです。

  • エクセル。1行データ 別Sheet複数行列にリンク

    Sheet1は行別に顧客データをSheet2のフォーマットにリンクすることはできるでしょうか。 目的としてSheet1のデータをリスト化するためにSheet2があるようです。 現状は、個々のセルにそれぞれリンクを個別に貼り付けていて 修正を頼まれたのですが・・・。 さっぱりわからず手をつけられない状況です。 なんとか検索してみるとOFFSETやROWなどを利用すれば できそうだとは思ったのですが どうにも理解することができず、お手上げです…。 VBAを使用せずに関数だけで作ることは出来ますでしょうか。 関数式をコピーしてSheet2へのレコードを増やして行きたいです。 そもそも、作成された関数式をコピーできるのでしょうか。(7行分ずれたりはしませんか?) データとしては1-1,1-2,…1-7で桁上がり2-1…というリスト番号があります。 割り算して余りをもとめたら? と、考えれば考えるほどよくわからなくなり途方に暮れています。 わかりづらい文章で申し訳ありませんが どうかよろしくお願いいたします。