Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
一覧表入力→個別シートへ自動転記
投稿日時: 17/06/04 00:13:36
投稿者: バンブー

Sheet1(一覧表)に日付・支払先・金額を入力すると、
支払先の個別シート(Sheet2:鈴木商店、Sheet3:佐藤商店)に自動転記する関数について、
ご教授をお願いいたします。
 
Sheet1(一覧表)
A B C
1 日付 支払先 金額
2 2017/1/10 鈴木商店 100
3 2017/1/15 佐藤商店 300
4 2017/1/20 鈴木商店 200
5 2017/1/31 佐藤商店 500
 
Sheet2(鈴木商店)
A B C
1 日付 金額 
2 2017/1/10 100
3 2017/1/20 200
 
Sheet3(佐藤商店)
A B C
1 日付 金額
2 2017/1/15 300
3 2017/1/31 500

回答
投稿日時: 17/06/04 01:26:39
投稿者: Mike

1.Sheet1 の範囲 A1:C100 を選択して、[数式]→[定義された名前 <選択範囲から作成>]
2."上端行"だけにチェックを残して[OK]をクリック
3.Sheet2、Sheet3 のシート名をそれぞれ「鈴木商店」、「佐藤商店」に変更
4.ここでブックに[名前を付けて保存]しておくこと。←これ必須
 
以下の操作をシート「鈴木商店」および「佐藤商店」に適用。
5.セル A1、B1 にそれぞれ「日付」、「金額」を入力
6.セル A2 に次式を入力して、此れを右隣にオートフィルした後で、セル B2 の書式を
 ̄ ̄ G/標準
 ̄ ̄に設定
 ̄ ̄ =IFERROR(INDEX(INDIRECT(A$1),SMALL(IF(支払先=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99),ROW(支払先),""),ROW(A1))-1),"")
 ̄ ̄【お断り】上式は必ず配列数式として入力のこと
7.範囲 A2:B2 を下方にズズーッとオートフィル

回答
投稿日時: 17/06/04 06:46:45
投稿者: WinArrow
投稿者のウェブサイトに移動

関数を使うということは
一覧表から各々のシートに転記後、一覧表は、そのままの状態となります。
 
例えば、一覧表のデータに誤入力があった場合、一覧表を修正/変更すると
自動的に別シートも修正/変更されます。
これは、便利だとは思いますが、
データが重複してファイルに存在することになります。
 
若し、印刷(清書)の目的で、別シートを作成するならば、
一覧表だけで、オートフィルタを使えば、支払先別の印刷が可能です。
また、数式を変更する必要が出た場合は、全部のシートを修正しなければいけません。

投稿日時: 17/06/04 16:49:00
投稿者: バンブー

Mike様
 
早速、配列数式で入力して希望通りの表が作成できました。
(配列数式の入力は初めて知りました)
 
早々にご回答をいただきましてありがとうございました。m(_ _)m
 

投稿日時: 17/06/04 17:16:07
投稿者: バンブー

WinArrow様
 
この後、残高欄を追加することと、個別シートの方で確認を依頼することがあるため、
データは重複してファイルに存在することになりますが、このままで作業したいと存じます。
 
ご丁寧にご教授いただきまして、ありがとうございました。m(_ _)m