[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「特定のページから各ページのセルを表示したい」』(ゆゆ)
「特定のページから各ページのセルを表示したい」
はじめまして、EXCEL初心者です。よろしくお願いいたします。
Sheet1に製作完了済のデータがあり、Sheet2、Sheet 4、Sheet 6に商品名などを表示させたいです。
毎月Sheet1にデータを貼り付けると、各ページのセルが表示されるようにしたいです。
Sheet1(300行くらいあります)一覧表
A B C D E F 1 商品名 材質 納品日 担当者 納品先 品番 2 パネル P 5/1 山田 事務所 20 3 (空白) K 5/1 山田 事務所 50 4 ローラ F 0 山田 事務所 20 5 (空白) P 5/10 山田 事務所 30 6 パネル J 5/3 佐藤 施設B 20 7 ライト P 5/1 佐藤 施設B 20 8 ローラ P 5/1 加藤 農園 40 : : : : : : : 100 パネル P 5/1 山田 事務所 20 101 パネル P 5/1 山田 事務所 20 : : : : : : : 毎月、行列と最終行は変動します
↓↓結果↓↓
Sheet2(50〜100行くらいあります) A B C D E 1 パネル P 5/1 山田 2 付属品 K 5/1 山田 3 説明書 P 5/10 山田 4 パネル P 5/1 山田 5 パネル P 5/1 山田 : : : : : : : : : : 50 事務所 【1/2】 ―――――――――印刷範囲ここまで――――――――――――
空白
―――――――――印刷範囲ここまで――――――――――――
A B C D E
100 : : : :
101 : : : :
: : : :
: : : :
150 事務所 【2/2】
・A列50行と150行には、納品先が入力固定された状態
(Sheet4には施設B、Sheet6には農園)
・印刷範囲を超える場合のみ
Sheet2、4、6 のE列50行と150行には、【1/2】【2/2】手入力しています
【実現したいこと】
・Sheet1一覧表の行列や最終行は、毎月変動するため自動的に取得したい
・Sheet2、4、6納品先と一致しているデータのみ各セルに表示
ランダムに表示されているSheet1 E行(納品先)を上から順に表示
最終的に印刷するためA49以降は、A100へ自動的に移動してほしい
可能であればA100へ移動した際に自動で【1/2】【2/2】も表示させたい
・商品名が空白であれば
F行が50なら付属品、30なら説明書と表示したい
・納品日が「0」は表示しないようにしたい
説明が下手ですみません。
=IFERROR(INDEX や OFFSET 、MATCH(LARGE ,,,COUNTなど
色々と試行錯誤しているのですが、なかなか良い数式が組めません。
お恥ずかしながら、マクロを組んだことが無いので
出来れば関数で教えていただけると幸いです。どなたかよろしくお願いいたします。
< 使用 Excel:Office365、使用 OS:unknown >
>A列50行と150行には、納品先が入力固定された状態
この部分はフッターで対応できないんですか?
(コナミ) 2020/05/14(木) 12:13
(ゆゆ) 2020/05/14(木) 13:29
基本的には、Sheet1の一覧表には
A B C D E F 1 商品名 材質 納品日 担当者 納品先 品番
この状態なのですが、ごく稀に
BとDが入れ替わっている場合があります。
もし可能であれば1行目の単語を読み取って、自動で反映してくださると
とても有難いです。。。
(ゆゆ) 2020/05/21(木) 15:42
数式が長くなるので、名前定義を活用してスリム化を図ります。
Ctrl + F3キー押下で名前定義ダイアログを出し、以下の定義を行う。 ※名前のアルファベットは半角にしてください。
<名前> <参照範囲ボックスに下式を入力>
上終 =IFERROR(AGGREGATE(15,6,ROW(Sheet1!$C$2:$C$400)/((Sheet1!$C$2:$C$400<>0)*(Sheet1!$E$2:$E$400=!$A$50)),49),400) 下A =INDEX(Sheet1!$A:$A,上終+1):Sheet1!$A$400 下BD =INDEX(Sheet1!$B:$B,上終+1):Sheet1!$D$400 下C =INDEX(Sheet1!$C:$C,上終+1):Sheet1!$C$400 下E =INDEX(Sheet1!$E:$E,上終+1):Sheet1!$E$400 下F =INDEX(Sheet1!$F:$F,上終+1):Sheet1!$F$400 上A =Sheet1!$A$2:INDEX(Sheet1!$A:$A,上終) 上BD =Sheet1!$B$2:INDEX(Sheet1!$D:$D,上終) 上C =Sheet1!$C$2:INDEX(Sheet1!$C:$C,上終) 上E =Sheet1!$E$2:INDEX(Sheet1!$E:$E,上終) 上F =Sheet1!$F$2:INDEX(Sheet1!$F:$F,上終)
各シートに以下の数式を入力する
(1) A1 セル =IF(B1="","",FILTER(IF(上A="",IF(上F=50,"付属品",IF(上F=30,"説明書","")),上A),(上E=$A50)*(上C<>0),"")) (2) B1 セル =SORTBY(FILTER(上BD,(上E=A50)*(上C<>0),""),MATCH(Sheet1!$B$1:$D$1,{"材質","納品日","担当者"},0))
(3) A100セル =IF(B100="","",FILTER(IF(下A="",IF(下F=50,"付属品",IF(下F=30,"説明書","")),下A),(下E=$A50)*(下C<>0),"")) (4) B100セル =SORTBY(FILTER(下BD,(下E=A50)*(下C<>0),""),MATCH(Sheet1!$B$1:$D$1,{"材質","納品日","担当者"},0))
(5) E50 セル =IF(A100="","","【1/2】") (6) E150セル =IF(A100="","","【2/2】")
(半平太) 2020/05/21(木) 21:31
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.