[[20160527205059]] 『番号を入力すると名前が入る』(ジーナ) ページの最後に飛ぶ

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

 

『番号を入力すると名前が入る』(ジーナ)

A2:A100に番号 B1:F1に名前 B2:F100に数字 
G1にA列の番号を入力すると名前G2:G6と数字H2:H6が入るようにしたいのです。
G2:H6の数式を教えてください。

 	ミント	オレンジ	ルッコラ	バナナ	レタス		 3	
 1	30				2		    ミント	25
 2							    ルッコラ88
 3	25		     88					
 4		    5	   11	9				
 5		

B1:F1の名前やB2:F100の数字は、毎月変わります。
また名前が全く埋まらない月もあります。
つまりその場合は数字も埋まらないということになります。
よろしくお願いします。

H2:H6にあらかじめ=B1、=C1、=D1、=E1、=F1 
ミント、オレンジ、ルッコラ、バナナ、レタスと入っていても問題ありません。

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


 > B1:F1の名前やB2:F100の数字は、毎月変わります。

 A2:A100の番号は固定ということ?
 その番号はサンプル表のように「1からの連番」なんですか?

 ■A2:A100が「1からの連番」(つまり「1〜99」)なら

 G2 =IF($G$1="","",IFERROR(INDEX($1:$1,SMALL(INDEX((INDEX($B$2:$F$100,$G$1,0)="")*10^7+COLUMN($B$1:$F$1),0),ROW(A1))),""))

 H2 =IF(G2="","",SUMIF($B$1:$F$1,G2,INDEX($B$2:$F$100,$G$1,0)))
 
 
 ■A2:A100の番号はランダム

 G2 =IFERROR(INDEX($1:$1,SMALL(INDEX((INDEX($B$2:$F$100,MATCH($G$1,$A$2:$A$100,0),0)="")*10^7+COLUMN($B$1:$F$1),0),ROW(A1))),"")

 H2 =IF(G2="","",SUMIF($B$1:$F$1,G2,INDEX($B$2:$F$100,MATCH($G$1,$A$2:$A$100,0),0)))
 
 
 ■ ↓ でもいいのなら(ただしB2:F100に「0」は入力しないという前提)

 > H2:H6にあらかじめ=B1、=C1、=D1、=E1、=F1  
 > ミント、オレンジ、ルッコラ、バナナ、レタスと入っていても問題ありません。

 H2 =SUMIF($B$1:$F$1,G2,INDEX($B$2:$F$100,MATCH($G$1,$A$2:$A$100,0),0))

 ※A2:A100の番号がランダムの場合
 ※「0」の非表示は表示形式で
 ※エラー処理が必要なら IFERROR関数で

 ※G2の式、ROW(A1) を変更しないこと

 参考まで。
(笑) 2016/05/27(金) 23:05

 > H2:H6にあらかじめ=B1、=C1、=D1、=E1、=F1  

 ちなみに

 G2 =INDEX($B$1:$F$1,ROW(A1))

 これを下にコピーでも同じ結果になります。

 参考まで。
(笑) 2016/05/27(金) 23:12

 A2:A100の番号がランダムでも

 H1セルに =IFERROR(MATCH(G1,A2:A100,0),"") という式を入れておけば

 G2 =IFERROR(INDEX($1:$1,SMALL(INDEX((INDEX($B$2:$F$100,$H$1,0)="")*10^7+COLUMN($B$1:$F$1),0),ROW(A1))),"")

 H2 =IF(G2="","",SUMIF($B$1:$F$1,G2,INDEX($B$2:$F$100,$H$1,0)))

 これでできます。

 参考まで。
(笑) 2016/05/27(金) 23:30

 何回もスミマセン。

 H列はSUMIFではなく、INDEX〜MATCHの方がいいかも・・・(特に ↓ の一番最後のケース)

 ■A2:A100が「1からの連番」(つまり「1〜99」)なら

 H2 =IF(G2="","",INDEX($B$2:$F$100,$G$1,MATCH(G2,$B$1:$F$1,0)))
 
 
 ■A2:A100の番号がランダムなら

 H2 =IF(G2="","",INDEX($B$2:$F$100,MATCH($G$1,$A$2:$A$100,0),MATCH(G2,$B$1:$F$1,0)))

 ↓ H1セルに =IFERROR(MATCH(G1,A2:A100,0),"") という式を入れておけば

 H2 =IF(G2="","",INDEX($B$2:$F$100,$H$1,MATCH(G2,$B$1:$F$1,0)))
 
 
 ■あらかじめG2:G6に品名を全部表示させておく場合

 ↓ A2:A100が連番

 H2 =INDEX($B$2:$F$100,$G$1,ROW(A1))

 ↓ A2:A100はランダム

 H2 =INDEX($B$2:$F$100,MATCH($G$1,$A$2:$A$100,0),ROW(A1))

 参考まで。
(笑) 2016/05/28(土) 06:18

笑さん ありがとうございます。 

よくよく考えたらVLOOKUPで出来るねって思ったのですが、列番号を変えなくちゃいけないので面倒でしたね。
=IF(G2="","",INDEX($B$2:$F$100,$G$1,MATCH(G2,$B$1:$F$1,0))) で出来ました。

そしてまた教えてください。現在レイアウト変更中で質問が前後することがあるかもです。申し訳ありません。

A列からO列まで下のような表があります。
番号はA4からで1からの連番です。
C列には何もありません。
P1:Q3に
北川 2
A書類 15
ミント 5
P1には入力規則で個人名(4名固定)を選択できるようになっています。
Q1にA列の番号を入力すると
書類名と数字
その他欄に個人名があればその他名と数字がほしいです。
その他名(ミントなど)は当月中は変わりませんが、全く無い時もあります。

			書類名								その他			
			A書類				B書類				ミント		オレンジ	
			東口	西田	南山	北川	東口	西田	南山	北川				
1	5/20 金		35			15	25		10					
2					10	15			10		北川	5	南山	5
3														
4														
5	5/21 土													
6														
7														
8										

試行錯誤でやっております。 
行番号とか列番号が変わったりしてご面倒おかけいたします。

あらかじめB書類/オレンジと入っていても問題ありません。
北川 2
A書類 15
B書類
ミント 5
オレンジ

(ジーナ) 2016/05/28(土) 10:38


 > あらかじめB書類/オレンジと入っていても問題ありません。 

 では ↓ のようなレイアウトだとして(P2:P5は入力済み)

	P	Q
1	北川	2
2	A書類	15
3	B書類	
4	ミント	5
5	オレンジ	
 
 
 Q2 =IF(COUNTA(P1:Q1)<2,"",INDEX(D4:G100,Q1,MATCH(P1,D3:G3,0)))

 Q3 =IF(COUNTA(P1:Q1)<2,"",INDEX(H4:K100,Q1,MATCH(P1,H3:K3,0)))

 表示形式〜ユーザー定義 # (桁区切りが必要なら #,###)
 
 
 P4はL列の項目名、P5はN列の項目名、ということなら

 Q4 =IF(OR(Q2="",P4=""),"",IF(INDEX(L4:L100,Q1)=P1,INDEX(M4:M100,Q1),""))

 Q5 =IF(OR(Q2="",P5=""),"",IF(INDEX(N4:N100,Q1)=P1,INDEX(O4:O100,Q1),""))

 とか?
(笑) 2016/05/28(土) 13:35

笑さん ありがとうございます。

最後にひとつだけ教えてください。

4人分のTOTALを出すときは、やはりそれそれの合計を足すのでしょうか?
TOTAL 2
A書類 25
B書類 10
ミント 5
オレンジ5

(ジーナ) 2016/05/28(土) 18:47


 > 4人分のTOTAL

 そのTOTALはどこのセルですか?
 前回と同じ P1:Q5?

 P1は4人の名前以外に、リストから「TOTAL」も選択できる、ということ?
 それともTOTALだけ別セル?

 とりあえず確認だけ。
(笑) 2016/05/28(土) 22:20

笑さん ありがとうございます。

失礼しました。 

 > そのTOTALはどこのセルですか?
 R1:S5 になります。

この回答だけでわかりますでしょうか?

(ジーナ) 2016/05/28(土) 22:55


 > R1:S5 になります。

 だったら ↓ なのでいいのでは?

	P	Q	R
1	北川	2	TOTAL
2	A書類	15	25
3	B書類		10
4	ミント	5	5
5	オレンジ	5
 
 
 R2 =IF(Q1="","",SUM(INDEX(D4:G100,Q1,0)))

 R3 =IF(Q1="","",SUM(INDEX(H4:K100,Q1,0)))

 R4 =IF(OR(Q1="",P4=""),"",INDEX(M4:M100,Q1))

 R5 =IF(OR(Q1="",P5=""),"",INDEX(O4:O100,Q1))

 こんな感じ?
(笑) 2016/05/29(日) 00:01

笑さん ありがとうございます。

教えを基になんとか作成してみます。

長い時間おつきあいいただきましてありがとうございました。

大変感謝しております。

(ジーナ) 2016/05/29(日) 08:56


コメント返信:

[ 一覧(最新更新順) ]


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