[[20160810154213]] 『別シートに転記(関数対応希望)』(みのる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートに転記(関数対応希望)』(みのる)

いつもお世話になります。
過去ログを調べましたが、ピッタリするような例が発見できなく、質問致します。
同じファイルに、「元データ」「関東」「関西」「中部」・・・の各シートがあります。各シートの表は同じレイアウトになっています。
元データのA列をキーとして、キーと同一のシート名の各シートに「元データ」のレコードを振り分けしたい。
各シートに記載する関数について教えていただきたいのでよろしくお願いします。
最大で各シート20行程度のレコードとなります。


「元データ」シート

  A    B    C
1 地区   数量   アイテム
2 関東   1     PC
3 関東   2     PR
4 関西   8     RR      
5 中部   5     PC
6 関東   1000    MM 
7 関西   8 RR
8  ・   ・     ・
9  ・   ・     ・ 

「関東」シート
  A    B    C
1 地区   数量   アイテム
2 関東   1     PC
3 関東   2     PR
4 関東   1000    MM      
5 

「関西」シート
  A    B    C
1 地区   数量   アイテム
2 関西   8     RR 
3 関西   8 RR
4    
5 

「中部」シート
  A    B    C
1 地区   数量   アイテム
2 中部   5     PC
3
4       
5 

「九州」シート
  A    B    C
1 地区   数量   アイテム
2 
3
4       
5 

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 地区シート、

    A    B    C 
 1  関東
 2 地区   数量   アイテム 
 3  〜
 というようにA1セル(別のセルでも構わないが)に地区名を入れるのでも構わないか?
 (シート名から持ってくることもできるがその分式が複雑になるため)

(ねむねむ) 2016/08/10(水) 16:31


 A1セルに
 =REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),"")
 という式を入れることでシート名を手入力せずに持ってくることも可能。
(ねむねむ) 2016/08/10(水) 16:43

 すまない。
 地区シートのA列の式が少し長くなるだけで済んだ。

 元のレイアウトで地区シートのA2セルに
 =IF(COUNTIF(元データ!A:A,REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),""))<ROW(A1),"",REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),""))

 B2セルに
 =IFERROR(INDEX(元データ!B$1:B$100,MATCH(1,INDEX((元データ!$A$1:$A$100=$A2)*(COUNTIF(INDIRECT("元データ!A1:A"&ROW($1:$100)),元データ!$A$1:$A$100)=COUNTIF($A$2:$A2,$A2)),0),0)),"")
 と入力。

 A2セルは下へ、B2セルは右および下へフィルコピー。

 なお、元データのほうは100行目まで対応。
 もっとデータがある場合はB2セルの式の「$100」部分をすべて同じ値で大きくしてくれ。
(ねむねむ) 2016/08/10(水) 16:53

ねむねむ様
早々の回答ありがとうございます。
今、検証できる環境ではありませんので、後ほど確認させていただきます。
まずは御礼まで。
(みのる) 2016/08/10(水) 18:30

ねむねむ様

オートフィルで対応していたことが関数でできました。
時間短縮になり感謝です。
ありがとうございます。
(みのる) 2016/08/12(金) 14:56


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.