アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの1枚目のシートをデータシートとして、各行に入力していきます。
各行の第1列の数字や言葉に基づいて、2枚目以降のシートに順にコピーさせる方法があるでしょうか

具体的には1枚目のシートはデータシートとして
部門 氏名 住所 
人事 田村 東京
総務 太田 京都
人事 山田 大阪

2枚目のシートの名前は「人事」3枚目は「総務」で各シートに行ごとコピーさせたいのです

マクロはよくわからないのと最初に開くときに面倒なので、なるべく関数で処理する方法を教えてください。

A 回答 (2件)

質問者さんの意図とは少し違いますが、次のような簡単な方法があります。

適当な回答がなければ、ご検討ください。

(1)2枚目以降のシートで =sheet1!A1 などとして、1枚目のシートの該当するセル範囲(これから入力される可能性のある部分を含む)のデータをすべて取り込む
(2)オートフィルタで望みの行だけ表示する
(3)1枚目のデータが増えたり変更されたりしたら、フィルタの「再適用」(2007ではボタンあり)をして最新の結果を得る

(2007とその97-2003互換モードで確認しました。)
    • good
    • 1
この回答へのお礼

ありがとうございました
なるほどと思います。参考にさせていただきます。

お礼日時:2008/11/02 19:51

この質問の内容は、VBA向きです。


>マクロはよくわからないのと
エクセルで、操作で出来そうに無いことで、何かやりたいことを実現するには、VBAを勉強してください。勉強しないで、楽したいこと、難しいことをやりたいといっても、無理です。
>最初に開くときに面倒なので
何のことだかわかりません。
ーーーー
入力の都度でなく、一応入力が終わってからなら、
フィルターを行い、コピー貼り付けを繰り返す
フィルタオプションの設定を繰り返す
ソートして区分ごとにコピー貼り付けを繰り返す
部門ごとの連番を振って関数で処理する(下記。自称 imogasi方式)
ーーーーー
例データ
A列  B列   C列   D列
コード内容計数連番
人事x121
営業y21101
総務z31201
人事u412
人事v423
営業s43102
総務t12202
総務v12203
人事w124
ーー
どの列でもよいが(各部100人以内と仮定する)
H列  I列
人事0
営業100
総務200
ーーーーーーー
D列の式は
=VLOOKUP(A2,$H$1:$I$3,2,FALSE)*1+COUNTIF($A$2:A2,A2)
下方向に式を複写。
各部別に、出現別に、連番を振っている。
ーー
Sheet2で
A2に
=INDEX(Sheet1!$A$1:$C$100,MATCH(ROW()-1,Sheet1!$D$1:$D$100,0),COLUMN())
C2まで式を複写。
A2:C2を下方向に式を複写
結果
人事x12
人事u41
人事v42
人事w12
#N/A#N/A#N/A
ーー
Sheet3のA2で
=INDEX(Sheet1!$A$1:$C$100,MATCH(ROW()-1+100,Sheet1!$D$1:$D$100,0),COLUMN())
MATCH(ROW()-1+100とここで100足していることに注意。
以下人事の場合と同じ。
総務の場合は200を足す。
結果
営業y21
営業s43
#N/A#N/A#N/A
#N/Aを出さない方法の点は省略。imogasi方式でGoogle照会すれば、何処かに書いている。
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきます
VBAを一応勉強し、ボタンを作ったり、若干編集もできるようにはなりましたが、能力不足やあまり使わないこともあって、なかなか使いこなせません。
それとそのブックを開くときにマクロを有効にするかどうか毎回聞かれるのがうっとうしいのです。作ったマクロが気に入ってすべてのブックに適応させたりすると、必要でないブックであっても開くときにいちいち聞いてきていらいらします。聞かれないよう設定できるのかもしれませんが、今のところその方法は不明です。
とにかく私の希望はマクロを使わないで済ませたいのです
imogasiさんのVBAを使わないで済ませる方法を参考にしながら、なんとか作っていきたいと思います。
ありがとうございました

お礼日時:2008/11/02 20:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!