• ベストアンサー

Excelで表の作成方法を教えてください~

Excelで、1列目に条件(1)、2列目に条件(2)、3列目に(1)(2)の条件を満たした値が設定されている 表Aがあります。 表Aの条件(1)はそのままで、条件(2)を1行目に横に設定し、縦の条件(1)を元に横の条件(2)の 交差する位置に値が入る表Bを作成したいのですが、どのような方法があるでしょうか? 表Aの値を更新すると表Bに反映されるようにしたいです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんにちは! 作業用の列を使った一例です。 D列を作業用の列とします。 (D列が使用済みであれば離れた列にしてください) お示しの配置でD3セルを =A3&B3 としてオートフィルでずぃ~~~!っと下へコピーしておきます。 I3セルに =IF(OR($G3="",I$2="",COUNTIF($D:$D,$G3&I$2)=0),"",INDEX($C:$C,MATCH($G3&I$2,$D:$D,0))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 希望に近い形にならないでしょうか?m(__)m

tomomiffy
質問者

お礼

ありがとうございます! この数式は超初心者の私でも理解できました! 考え方ひとつでこんなにも単純にできるなんて、本当にすごいです。。 ありがとうございました!

その他の回答 (5)

  • shorun
  • ベストアンサー率42% (133/310)
回答No.6

No2 No3回答者です。 はじめにNo2の訂正です。 誤 2.表Aの、aa ~ bb は誤りなので aa ~ cc に訂正します。 結論 例示した表Aの条件2をaa~ccの3個からaa~zzの26個にすれば式はこのままでよいです。 >条件(2)は69パターンあります。 ということは、私が例示した表Bは斜めに、1・2・3と並んでいますが、 1・2・3・・・・26 のように表の一番右下に 26 を表示させればよいのですか? そうしたいなら 1.表Aの条件2でたとえばaa bb cc ・・・xx yy zzの26パターンを入力する。 2.表Aの aa~zz 迄を表Bへ(行列を入れ替えて)コピーする。 3.前(No2)回答と同じ式 =IF(I$2=$B3,$C3,"")を赤色セルに入力する。 4.この式を(前回答より広い範囲になったピンク色)の全セルへコピーする。 以上でよいと思います。 >この数式では設定できないのですが、どのように処理すればよろしいでしょうか? 「この数式」とは上記の =IF(I$2=$B3,$C3,"") のことでしょうか? 「設定できない」の意味が理解しかねます、式に「26」が無いということかなぁ 表Bの赤色セルだけが対象なら式は =IF(I2=B3,C3,"")でセル番地は相対参照にします。 この式をこのまま(ピンク色)の全セルへコピーしても、結果は×です、 結果を○にするためセル番号の一部に$を付けてセル番号は複合参照にしてあるので、 この式で設定可能です。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ここまでの説明内容でご理解いただけた場合は、以下は読まないようお願いします。 蛇足 1.実務のため結果だけをお求めなら他の回答者様のような高度な関数で処理すればスマートな結果になるとおもいます。 2.今回の質問がもし、エクセル勉強中で練習問題の答えをお求めなら 問題のテーマに応じた関数などで表Bを作成するのがレベルアップにつながると思います。 なので、練習中のテーマを記載して解らない項目について質問すれば、より的確な回答が得られると思います。

tomomiffy
質問者

お礼

ご回答ありがとうございます。 また、今回の質問の背後まで汲み取って頂き ありがとうございます。 こちらはExcel初心者で勉強中です。 今回の問題は、自分自身で考えたものです。 通常の表の縦横を入れ替えた場合、値はどのように抽出できるのか、 を考えた際に、条件ははっきりしているのにどんな式を利用できるのかが まったくわかりませんでした。 みなさん、本当にとても丁寧に教えてくださって本当に有難いです。 教えて頂いた内容は未だ半分も理解できていませんが、ひとつひとつ 使えるようになるようにがんばります。 ありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>頂いた数式内のセルの値が2000ではどのようになりますでしょうか?  「数式内セルの値」とは何の事を指しているのでしょうか?  数式内で指定されているR2C1セルに入力されている値の事でしょうか、 それとも、表Aにおいてデータが存在している行数の事でしょうか、 それとも、表Aにおいてデータが存在している行の中で、最も下にある行の行番号の事でしょうか、 それれとも、表Aにおいて「条件(1)」と入力されているセルの行番号が、2ではなく、2000であるという意味でしょうか?  因みに、ANo.1の数式は、3列において数値が入力されているセルの中で、最も下にあるセルの行番号を自動的に検出しますから、最も下の行の行番号が、20列でも、2000列でも関係なく、同じ数式で処理する事が出来ます。(但し、行数が増える程、計算に要する時間が長くなります)  このため、普通の関数とは違って、R2C1、R2C2、R2C3、の3つのセルに対して、削除や切取りする事さえしなければ、データが入力されている途中の行を、削除切取り、貼り付け、挿入等の編集を行っても構いません。

tomomiffy
質問者

お礼

ご返答ありがとうございます。 また、私の至らない質問にも丁寧に 内容・意図を汲み取ろうとしてくださる姿勢に 心から感謝致します。 実は最初に頂きました数式のなかの、 >R2C1、R2C2、R2C3、の3つのセル がどこのセルを指すかすら理解できておりませんでした。 本当に素人で申し訳ないです。 まだまだ勉強不足です。 これから沢山勉強して、回答者様の教えてくださった式を 理解して使えるようになるようにがんばります。 お手間を取らせてしまい、本当に申し訳なかったです。 貴重なお時間をありがとうございました。

  • shorun
  • ベストアンサー率42% (133/310)
回答No.3

No2です 添付図着色わすれました。

tomomiffy
質問者

補足

ご回答ありがとうございます。 条件(2)は69パターンあります。 この数式では設定できないのですが、どのように処理すればよろしいでしょうか? すみません、宜しくお願い致します。

  • shorun
  • ベストアンサー率42% (133/310)
回答No.2

条件を1,2ともに3個づつで例示します、実際の数に合わせて読み取ってください。 1.表Aの、ああ ~ うう 迄を表Bへ(そのまま)コピーする。 2.表Aの、 aa ~ bb  迄を表Bへ(行列を入れ替えて)コピーする。「註1」 3.表BのI列3行(赤色)に次の式を入力する  =I条件1と2を3個づつで例示します、実際の個数にあわせて試してください。 F(I$2=$B3,$C3,"") 4.この式を(ピンク色)の全セルへコピーする。以上です。 「註1」(行列を入れ替えて)コピーする方法が分からなければ補足してください。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 まず、R3C7以下に「あああ」~「くくく」等の条件(1)の項目を順番に入力し、R2C9から右に向かって、「aa」~「hh」等の条件(2)の項目を順番に入力しておいて下さい。  次に、R3C9に入力する数式ですが、御使いのExcelがExcel2007以降のバージョンである場合には、 =IF(COUNTIFS(C1,RC7,C2,R2C)=0,"",SUMIFS(C3,C1,RC7,C2,R2C)) Excel2007よりも前のバージョンである場合には、 =IF(SUMPRODUCT((OFFSET(R2C1,1,):INDEX(C1,MATCH(99^9,C3))=RC7)*(OFFSET(R2C2,1,):INDEX(C2,MATCH(99^9,C3))=R2C))=0,"",SUMPRODUCT((OFFSET(R2C1,1,):INDEX(C1,MATCH(99^9,C3))=RC7)*(OFFSET(R2C2,1,):INDEX(C2,MATCH(99^9,C3))=R2C)*(OFFSET(R2C3,1,):INDEX(C3,MATCH(99^9,C3))))) として下さい。  そして、R3C9をコピーして、表Bの結果を表示させる範囲に貼り付けて下さい。  以上です。

tomomiffy
質問者

補足

再度質問です。 前提がExcel2000になります。 頂いた数式内のセルの値が2000ではどのようになりますでしょうか? 追いながらやってみたのですが、途中でこんがらがってしまいました。。 申し訳ございませんが、2000では何の値になるか、教えていただけないでしょうか? 何度もお手数お掛けして申し訳ございません。 宜しくお願い致します。

関連するQ&A

  • エクセルで

    エクセル97でA列に あ い う え お か き ・ ・ と縦に長い表を A列  B列 あ    か い    き う    ・ え    ・ お    ・ と5行ごとに列をかえて横に長い表にする事ってできますか。 600行くらいあるのでコピペでは面倒で; よろしくお願いします。

  • エクセルの表で条件を指定しての整列

    エクセルの表で条件を指定して整列させようとしています。 よろしくお願い致します。 画像のようにA列の商品名に、B列、C列の2つの条件が付いた商品がありD列に在庫数を入れています。 はじめは「画像C表」のように規則を設定したものに従って並んでいたのですが、操作ミスがあり「画像A表」のように行をバラバラにしてしまいました。 A列の商品名、B列、C列の条件とD列の在庫数の横の並び(1行づつの並び方)は元のままです。 A列の商品名、B列、C列の条件の記入内容は半角全角文字様々です。 「画像B表」のような在庫数だけ入っていない表は存在しています。 これを「画像B表」の整列規則に従って元のように並べ直すのに苦労しています。 例えば定型の表である「画像B表」のA2セルとB2セルとC2セルの値が共通の行の「画像A表」のD2セルの値を「画像B表」のD2セルに並べるという方法が出来ればと思うのですが数式をどう設定してよいのか判らない常態です。 実際の商品数(行数)は10,000程あり日常扱っている商品のためかなり焦っております。 確実に元に戻せればどのような方法でも結構です。 初歩的な内容かもしれませんが、よろしくお願い致します。

  • Excel表検索の手立てについて

    Excel2010で、以下のような表があります    A    B   C   D 1  90  80  70  60 2  85  75  65  55 3  80  70  60  50 ここで、セルA5に「行=2」という「位置の変数」と セルA6に「点=70」という「得点の変数」が与えられています。 この値から、「列=B」(得点の直上の値)という結果(列=2という結果でも可) を得たいのですが、うまいこと関数で何とかならないでしょうか? なにせ、上記は例でしかなく、実際の表は縦30×横26なのでIFを並べるわけにも いかないんです。 行が固定ならMATCH関数で簡単にできるんですが・・・。

  • エクセルの表からグラフ

    エクセルについての質問です。 表を列A~J、行1~5の範囲で作りグラフを作成します。 これはX軸、Y軸をこれらにあわせてグラフは作れます。 例えば印刷などの都合上A~Jまでは横が長すぎて縦の印刷じゃ切れてしまうとします。そこで、列A~Eまでの表を二つに分けて表を作成しました。 つまり、表が2段?になっている感じです。 この状態からグラフを作ろうと思い、X軸、Y軸の値の範囲を設定しようと思うのですが。分けた一個目のA~F、2個目のA~Fを一つのグラフにまとめられません。結果、2つのグラフができてしまいます。 一つにするにはどうしたらいいでしょうか??? 説明がうまくできなくて申し訳ないです・・・

  • エクセルで作成した表の両面印刷

    エクセルで作成した表の両面印刷 エクセル2003で作成した表「A」を基に「B」を作成しました。 両方とも横の項目数(列の数)は同じですがAのトータル横幅ピクセル数とBのトータル横幅ピクセル数が微妙に違います。 縦幅(行数)も違います。 この為同一シート上にAの横にBを貼り付けて両面印刷するとAとBの横幅が微妙に違うので見栄えが悪いです。縦の違いはOKです。 A、B両面印刷したときページ左端の印刷開始位置及び横幅を同じくする為の表作成方法お願いします。 分かりにくくてすみません。

  • エクセルでセルの位置を求める

    エクセルの表から複数の条件に合ったセルの位置を求めたいのですが・・・ たとえば ・|A|B| 1|3|1| 2|3|2| 3|5|1| 4|5|2|<--この行(4)を求める 5|6|1|・・・・ ・・・・・ の様な表の場合A列が5でB列が2の行(この場合4)を求めたいのですが よろしくお願いいたします。

  • エクセルで作成の大きい表をワードに

    教えてください。 エクセルでセルの幅全部21ピクセルでA~FCまで 行は全部16ピクセルで77行の大きな表があります。 表はほとんどオートシェイプで作られています。 いつもはページ設定でA3サイズ横で49%に縮小して使っているのですが これをA4縦のワードの資料にA4サイズに縮小挿入したいのですがうまくできません。 表だけは横印刷にしたいので挿入したいページは 「挿入」→「改ページ」でセクション区切りをしてそのページだけページ設定で横向きにはできたのですがそこから先がうまくいきません。 教えてください。よろしくおねがいします。

  • 【VBA】エクセルからパワポの表に値を貼り付けたい

    エクセルに項目が縦に1列に並んでおり、その右隣の列に値Aがあるとします。 エクセルの項目と同じ文字列が書かれた表がパワーポイントにあり、その右側に値Aを貼り付けたいです。(表は項目が左に1列、右に値Aを入力したい列が1列ある形です。) エクセルと同じ文字列が入っている表があれば、その表の右側に値を代入するといった条件式をVBAで作成することは可能でしょうか。 エクセルのマクロはよく使っているのですが、パワポは全く分かりません。 実現可能かも含めご教示いただきたいです。

  • エクセル2003 星取表作成

    エクセル2003 星取表作成 エクセルで表を作成していて、この空欄を埋めたらこの想定値が返るというようにしたいです。 想定値の算出は添付のようなイメージです。 この表は横に30列、縦にも40行ほどあります。 このような想定値を簡単に出す方法はありますか? 想定値=表の中の金額の合計÷空白セルの数

  • エクセルの表で

    エクセルの表で行と列を入れ替えて、今までA列にあったものを1行目にB列にあったものを2列目に表示させる方法があったとおもいますが、どうやりますか?