• 締切済み

excelでさらにさらに質問です。

excelのシート1の縦列Aに国名、Bに年代、そしてCにGDPの値が入っています。年代の幅が国によって異なり、ある国は1980年から2000年まで、またある別の国は1985年から2003年までだったりします (以下のような感じです)。 Fiji 1960 .. Fiji 1961 .. Fiji 1962 .. Fiji 1963 .. Fiji 1964 .. Fiji 1965 .. Fiji 1966 .. Fiji 1967 .. Fiji 1968 .. Fiji 1969 .. Fiji 1970 .. Fiji 1971 .. Fiji 1972 .. Fiji 1973 .. Fiji 1974 .. Fiji 1975 4061.41 Fiji 1976 4057.168 Fiji 1977 4280.806 Fiji 1978 4253.03 Fiji 1979 4704.458 Fiji 1980 4534.908 Fiji 1981 4703.573 Fiji 1982 4438.235 Fiji 1983 4178.287 Fiji 1984 4440.917 Fiji 1985 4196.413 Fiji 1986 4368.849 Fiji 1987 4051.339 Fiji 1988 4113.36 Fiji 1989 4360.542 Fiji 1990 4435.932 Fiji 1991 4230.202 Fiji 1992 4464.957 Fiji 1993 4542.52 Fiji 1994 4808.183 Fiji 1995 4841.358 Fiji 1996 4916.93 Fiji 1997 4856.424 Fiji 1998 4956.75 Fiji 1999 5369.698 Fiji 2000 5056.458 Fiji 2001 5249.315 Fiji 2002 5367.939 Fiji 2003 5445.698 Fiji 2004 5638.58 このようなデータを1980年から2003年までの間だけ(GDPデータのあるなしに関わらず)切り取って別のシートの縦列に連続して移す方法はありますでしょうか?また、この際別のシートの国名と一致するように自動的に移すというようなことは可能でしょうか?(別のシートには国ごと(A列)に1980年から2003年まで(B列)縦に並んでいますが、国名の順番が必ずしもシート1と同じではないです)。 このようなオペレーションが出来るのかどうかは不明ですが、どなたかご存知の方がいらっしゃったら教えていただきたいです。どうぞよろしくお願いします。

みんなの回答

  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.3

> ある国は1980年から2000年まで、またある別の国は1985年から2003年までだったり 別の国はどこにあるのでしょうか? A列にずらっとあるなら、 別シートC1=SUMPRODUCT((Sheet1!$A$1:$A$2000=A1)*(Sheet1!$B$1:$B$2000=B1)*(Sheet1!$C$1:$C$2000)) データを仮に2000行としています。 データ無しは0になります。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

>オペレーションが出来るのかどうかは不明ですが 「オペレーション」とは操作で「手作業操作」に限るということか。 日ごろ仕事でよく使っている方かと思うが、エクセル日本語の解説書 では出てこないように思うが。 エクセルでは (1)手作業操作 (2)関数 (3)VBA (4)ウイザード的なもの などあり得ることを頭において置いてください。それらの中で 上記の (A)1つでしかできない (B)限定すると非常にややこしい (C)どちらでもできる などがあります。VBAは判りますか。本件もVBAならロジックは簡単でしょう。 ーーー 前半は、上記(2)関数では(B)に当たります。 関数は抜き出しは得意ではない。 中間作業列(仮にE列とします)を使います。 第1行は、行挿入でもして、データはなしにしてください。 E1が空白ならそれでよい。 E2に =IF(AND(B2>=1980,B2<=2003),MAX($E$1:E1)+1,"") と入れて最終行まで式を複写します。 これで(年の)条件に合うものに連番を振れます。 Sheet2でA2に =INDEX(Sheet1!$A$1:$C$100,MATCH(ROW()-1,Sheet1!$E$1:$E$100,0),COLUMN()) と入れます。C2まで横に式を複写します。 A2:C2を範囲指定して、下方向に式を複写します。 (imogasi方式) ーーーーー 後半の質問 この際別のシートの国名と一致するように自動的に移すというようなことは可能でしょうか? この意味が良くわからない。 別シートでの国の出現状態を行と列を明らかにして、例示してみてください。 ーーー 実例も多いのも良いが、余り多すぎて、回答候補者が受ける印象が面倒くさくなってパスする可能性あり。 質問するには、重要点を抽象化して、実際例を組み替える力が必要です。他の一般文書でも同じで、重要なことです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

 安易に貴方に解答を与えると、かえって貴方のためにならないと思うので、 VLOOKUPだったかなぁ~ HLOOKUPだったかなぁ~ 書籍を買って勉強するなり、HELPを読むなり、勉強してね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの関するに関する質問です!

    現在データを分析したくエクセルを使用しているのですが 関数の使い方で分からないものがあるため質問を致します。 2つのシート間で複数の条件が一致した時、特定の列にあるデータを出力するという関数を書きたいです! 【例】→「」で囲まれたのがデータです。A~Dは列を表し、(1)~(3)は行を表しています ・シート1    A   B   C   D (1)  「1」 「4」    (2)  「2」 「5」 ☆ (3)  「3」 「6」    ・シート2    A   B   C   D (1) 「3」  「4」 (2) 「2」  「5」 ★ (3) 「1」  「6」 上記のエクセルがあった場合で説明をさせて頂きます。 シート1とシート2で複数条件で同一なものを同一視させます この例においては(2)行目A列・B列の「2」「5」が一致しています。 その時シート2のC列にある「★」のデータを シート1の「☆」に表示したいです! データは量が多いのでオートフィルで同じ数式をシート1のC列すべてのセルに適応したいです! 分かりにくい質問で大変恐縮です! これらを実現させるための関数を使った条件式を教えてください!! 理解しづらいところに関しては補足にて対応致します! 宜しくお願い致します!!!!!!!!!

  • excelでさらに質問です。

    こんにちわ。またお世話になります。今回は以下の操作について質問です。 縦列24セル、横100セルの、24掛け100のセルが数字で埋まっています。このデータを別のシートに移します。Sheet1がオリジナルデータで、Sheet2に移します。Sheet1 A1-A24 をSheet2 A1-A24へ, Sheet1 B1-B24 をSheet2 A25-A49へ, Sheet1 C1-C24をSheet2 A50-A74へ、と移したいのですが、効率的にする方法をどなたかご教授お願いします。

  • エクセル教えて下さい

    以下の様なデータで、 __A__B__C 1_10__12__● 2_12__14__△ 3_18__18__◎ 4_22__31__□ 5_31__33__● A列にある数字とB列にある数字が一致する行だけを別シートに抽出したい場合、 どのような方法がありますか?

  • エクセルでブックの分割をするマクロ?

    シート2枚を持つ大きなブックがあります。 1枚目2枚目とも、A列には国名、B列に地名、C列目以降に各種データ(1枚目と2枚目は別のデータ)があります。 全部で国名は約60、地名は1000程度です。 たとえば A列 B列 C列 D列 日本 東京 1111 1234 日本 札幌 2222 2345 日本 函館 1515 0055 韓国 ソウル 0000 0000 韓国 プサン 3322 2323 のような感じです。 これを国別に別々のブック(それぞれ2枚のシートがある)に切り分けるマクロを教えてください。よろしくお願いします。

  • Excelでいくつか質問です。

    Excelのコラム(縦列)に500位の国名が並べてあります。この名前一つずつの間にある一定の間隔(たとえば6コマ)を開けたいのですが、最も効率よくする方法はなんでしょうか? また縦列に6コマ一組のセル(たとえば1990年から1995年まで)を上記の国ごとに並べたいとすればどうやってやるのが一番効率的でしょうか? よろしくお願いします。 

  • エクセル 大量のデータから抽出し自動表示

    エクセルのSheet1のC列に大量(3500件くらい)のデータがあります。このデータは毎日さらに増えます。D列にもおなじだけのデータがあります。 (E列・F列にはあとから別のデータをさらに入力していきます。) Sheet1 A B C D E F     1 2 3 4     2 3 4 5      1 3 5 6     3 5      2 4      ・ ・     ・ ・ こんな感じです。 今回、このC列に入っているデータを検索し、完全に一致したデータのみを別シートに抽出したいのです。 C列にはいろいろな数字が入っていて、同じものもありますが、D列にも同じ数字とは限りません。 なので、VLOOKUPは使用できないのかと思っています。 一致したデータはその行をすべて別シートに抽出したいです。 検索をかけて一致しないデータがあった場合もその検索した数字は残しておいてさらに今後一致になるまでデータを残しておくという方法はできますでしょうか。 エクセルは2003です。 よろしくお願いします。

  • Excelでのデータ抽出

    Excelで外部結合風のデータ抽出を教えてください。 シートAとシートBに表形式のデータがあり、 シートAのA列の値とシートBのA列の値が一致するシートBの 行を抽出するのが目的です。 具体的には次のような感じです。 シートA         シートB ----------------  ---------------- A列 | B列 | C列     A列 | B列 | C列 ----------------  ---------------- 2  | 2B  | 2C      1  | 1BB | 1CC ----------------  ---------------- 4  | 4B  | 4C      2  | 2BB | 2CC ----------------  ---------------- 6  | 6B  | 6C      3  | 3BB | 3CC ----------------  ---------------- ↓ シートB ---------------- A列 | B列 | C列 ---------------- 2  | 2BB | 2CC ---------------- 以下以外の方法がありましたら教えてください。 1)アクセスに両シートのデータを取り込み、2つのテーブルを外部結合で連結させる。 2)マクロで二重ループをつくり、A列が一致した行を取り出す。 よろしくお願いします。

  • Excelに詳しい方、お力をお貸しください(>_<)

    Excelで困っています。 膨大なデータがありまして・・・例えば、 A-------------B------------C-------------D    番号---------果物---------原産地--------価格 100----------ぶどう--------岡山----------100円  101----------さくらんぼ-----山梨----------100円 102----------ゴーヤ-------沖縄----------100円 103----------バナナ------フィリピン-------100円 ・ ・ ・ といったデータが1つのシート(シート[1])のセルに入力されているとします。 そして、別の真っ白なシート(シート[2])には、 A 番号 102 103 101 100 ・ ・ ・ と、番号のデータだけが入力されています。 ここで、シート[1]のB~D列のデータを、シート[2]のB~D列に反映させたいのですが、シート[2]のA列は、番号がばらばらになってしまっているので、コピー&ペーストは無理な状況です(>_<) 「じゃあ番号を揃えてからコピペすればよいのでは?」と思ったのですが、シート[1]のA列は連続した数字ですが、シート[2]のA列は連続しておらず、データの数も違うため、上手くいきませんでした・・・ 「シート[1]のA列とシート[2]のA列を比較し、番号が一致すれば、シート[1]のB~D列のデータを、同じくシート[2]のB~D列にも反映させる」みたいな、そんな関数やExcelのテクニックがございましたら、ご指導いただきたいです(>_<) よろしくお願いします<m(__)m>

  • Excelで、他のシートのデータを取り込む(統合する)には?

    下記のような「Sheet1」のデータ(学年)に、「Sheet2」のデータ(住所)を取り込もうとしています(データは架空例です)。Sheet1・2は、A列の内容が共通していますが、「Sheet2」のほうがデータ数が少ないです。LOOKUP関数を使えばいいのかと思いましたが、LOOKUPはデータ行数が完全一致している必要があるのか、うまくいきません。 要するに、「Sheet1」のA列に一致する文字列が「Sheet2」のA列にあった場合、その行のB列の内容を「Sheet1」のC列に入れる、というようにしたいのです。どのような手順で行えば可能でしょうか。よろしくお願いします。 --- ■Sheet1(学年データ) 1氏名(A)   学年(B) 2阿部一郎  1年 3伊藤二郎  2年 4上田三郎  3年 5江藤四郎  4年 ■Sheet2(住所データ) 1氏名(A)  住所(B) 2伊藤二郎 東京都○○区 3江藤四郎 大阪府○○市 ■ほしいデータ(Sheet1) 1氏名(A)   学年(B)   住所(C) 2阿部一郎  1年 3伊藤二郎  2年    東京都○○区 4上田三郎  3年 5江藤四郎  4年    大阪府○○市

  • エクセルでのマッチング

    色々エクセルでのマッチングのページを見ましたが自分の状況に該当するのがなかったので質問させて頂きます。 エクセルでのデータが2つあります。 Sheet1 A列→注文NO B列→金額 C列→製造番号 D列→金額 E列→商品名 Sheet2 A列→注文NO B列→金額 C列→品名 D列→数量 E列→単価 の2つのシートがあります。2つのシートを比較して、 A列の注文NOが一致してたら、Sheet1,Sheet2のG列に”注文NOが一致してます”と記載します。 さらに注文NOも一致し、同じ行の金額も一致したら、”金額も一致してます”とH列に記載します。 できましたら、 注文NOと金額が一致した物に関してSheet2のF列にSheet1の製造番号を記載するようなプログラムを作りたいと思います。 ↓に私が調べた結果、注文NOだけをキーにしてマッチングさせて、動くプログラムがありますしたが、2つをキーにする場合や別シートから一致したデータの一部を持ってくるものは探してもわかりませんでした。 http://www.okweb.ne.jp/kotaeru.php3?q=507722 質問された方と違い、データは人が入れていることもあり、間違いがある可能性があり2つ以上をキーにして、どこの製造番号の物かわかるようなプログラムをできる方教えて頂けませんでしょうか? ちょっと複雑ですのでここに出すべきか迷いましたが、プログラムの組める方、お願い致します。

専門家に質問してみよう