幾つか不明な点かあります。
A、B、Cの各表中の数値は、同じ国名のものに関しては合計値を表示すれば良いのか、それとも個別に表示する様にするのか?
1つの表中に(例えば表Aの中に)同じ国名が複数回現れている事があり得るのか否か?
もし、1つの表中に同じ国名が複数回現れている事もあるとした場合において、国名が同じであっても数値が異なる場合があり得るのか否か?
もし、1つの表中に国名が同じであっても数値が異なるものがあり得るとした場合において、その複数個の数値の合計値を表示するのか、或いは、その国名の数値の全てを表示するために複数行を使って個別に表示するのか、それとも、何か他の方法で表示するのか?
それらの事が不明ですので、取り敢えずの話として、1つの表中には同じ国名が複数回現れる事は無く、A、B、Cの各表中の数値は個別に表示するものとして話を進める事に致します。(もし、この条件が誤っている場合には、補足欄等を使用して、実際にはどの様にされたいのかを御教え願います)
今仮に、Sheet1のA列の3行目以下に国名、B列に1種類目の数値データ、C列に2種類目の数値データが入力されている表Aがあり、Sheet1のE列の3行目以下に国名、F列に3種類目の数値データ、G列に4種類目の数値データが入力されている表Bがあり、Sheet1のI列の3行目以下に国名、J列に5種類目の数値データ、K列に6種類目の数値データが入力されている表Cがあり、Sheet2のA列~G列に、表A~表Cのデータを一纏めにした表を表示させるものとします。
又、Sheet3のB1~C5の範囲内のセルを作業用のセルに、同様にSheet3のE列とF列を作業列として使用するものとします。
まず、Sheet3のB2セルに次の関数を入力して下さい。(表Aにおいて国名が入力されている行範囲内に含まれる行数を求める関数です)
=IF(ISNUMBER(MATCH("*?",Sheet1!$A:$A,-1)),MATCH("*?",Sheet1!$A:$A,-1)-ROW(Sheet1!$A$2),0)
次に、Sheet3のB3セルに次の関数を入力して下さい。(表Bにおいて国名が入力されている行範囲内に含まれる行数を求める関数です)
=IF(ISNUMBER(MATCH("*?",Sheet1!$E:$E,-1)),MATCH("*?",Sheet1!$E:$E,-1)-ROW(Sheet1!$E$2),0)
次に、Sheet3のB4セルに次の関数を入力して下さい。(表Cにおいて国名が入力されている行範囲内に含まれる行数を求める関数です)
=IF(ISNUMBER(MATCH("*?",Sheet1!$I:$I,-1)),MATCH("*?",Sheet1!$I:$I,-1)-ROW(Sheet1!$I$2),0)
次に、Sheet3のB5セルに次の関数を入力して下さい。(表A~表Cにおいて国名が入力されている行範囲内に含まれる行数の合計を求める関数です)
=SUM($B$2:$B$4)
次に、Sheet3のC1セルに数値の1を入力して下さい。
次に、Sheet3のC2セルに次の関数を入力して下さい。
=IF($B2>0,SUM($B$1:$B2)+1,"")
次に、Sheet3のC2セルをコピーして、Sheet3のC3~C4の範囲に貼り付けて下さい。
次に、Sheet3のE1セルに次の関数を入力して下さい。
=IF(ROWS($1:1)>$B$5,"",INDEX(CHOOSE(MATCH(ROWS($1:1),$C$1:$C$3),Sheet1!$A:$A,Sheet1!$D:$D,Sheet1!$G:$G),ROWS($1:1)-LOOKUP(ROWS($1:1),$C$1:$C$3)+1+ROW(CHOOSE(MATCH(ROWS($1:1),$C$1:$C$3),Sheet1!$A$2,Sheet1!$D$2,Sheet1!$G$2)))&"")
次に、Sheet3のF1セルに次の関数を入力して下さい。(国名を並べる順番の基準となる数値を割り振る関数です)
=IF($E1="","",IF(COUNTIF($E$1:$E1,$E1)=1,COUNTIF($E:$E,">"&$E1),""))
次に、Sheet3のE1~F1の範囲をコピーして、同じ列の2行目以下に(表A~表Cの行数の合計値を上回るのに十分な行数となる様に)貼り付けて下さい。
次に、Sheet2のA3セルに次の関数を入力して下さい。(Sheet3のF列の数値を利用して、国名を昇順で並べる関数です)
=IF(ROWS($3:3)>COUNT(Sheet3!$F:$F),"",INDEX(Sheet3!$E:$E,MATCH(LARGE(Sheet3!$F:$F,ROWS($3:3)),Sheet3!$F:$F,0)))
次に、Sheet2のB3セルに次の関数を入力して下さい。(1種類目の数値を表示させるための関数です)
=IF($A3="","",IF(ISNUMBER(1/(VLOOKUP($A3,Sheet1!$A:$C,2,FALSE)<>"")),VLOOKUP($A3,Sheet1!$A:$C,2,FALSE),""))
次に、Sheet2のC3セルに次の関数を入力して下さい。(2種類目の数値を表示させるための関数です)
=IF($A3="","",IF(ISNUMBER(1/(VLOOKUP($A3,Sheet1!$A:$C,3,FALSE)<>"")),VLOOKUP($A3,Sheet1!$A:$C,3,FALSE),""))
次に、Sheet2のD3セルに次の関数を入力して下さい。(3種類目の数値を表示させるための関数です)
=IF($A3="","",IF(ISNUMBER(1/(VLOOKUP($A3,Sheet1!$E:$G,2,FALSE)<>"")),VLOOKUP($A3,Sheet1!$E:$G,2,FALSE),""))
次に、Sheet2のE3セルに次の関数を入力して下さい。(4種類目の数値を表示させるための関数です)
=IF($A3="","",IF(ISNUMBER(1/(VLOOKUP($A3,Sheet1!$E:$G,3,FALSE)<>"")),VLOOKUP($A3,Sheet1!$E:$G,3,FALSE),""))
次に、Sheet2のF3セルに次の関数を入力して下さい。(5種類目の数値を表示させるための関数です)
=IF($A3="","",IF(ISNUMBER(1/(VLOOKUP($A3,Sheet1!$I:$K,2,FALSE)<>"")),VLOOKUP($A3,Sheet1!$I:$K,2,FALSE),""))
次に、Sheet2のG3セルに次の関数を入力して下さい。(6種類目の数値を表示させるための関数です)
=IF($A3="","",IF(ISNUMBER(1/(VLOOKUP($A3,Sheet1!$I:$K,3,FALSE)<>"")),VLOOKUP($A3,Sheet1!$I:$K,3,FALSE),""))
次に、Sheet2のA3~G3の範囲をコピーして、同じ列の4行目以下に貼り付けて下さい。
以上です。