• ベストアンサー
  • 困ってます

エクセル 表の表示について

どなたかお知恵をお貸しいただけたら幸いです。 現在エクセルの表で、日付と買ったものが並んでいるのですが、その表示を一括で変更できたらと思っています。 A列 4/1  りんご B   4/1  みかん C   4/1  いちご D   4/2  みかん E   4/2  メロン F   4/3  いちご 上記の表があり、これを下記のような表に簡単に直すやり方が見つけられずに悩んでおります。 A列  4/1     4/2      4/3 B  りんご    みかん   いちご  C  みかん   メロン D  いちご どなたかよろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数137
  • ありがとう数3

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

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

こんばんは! ご質問の配置(列番号)はこちらで勝手に行としてやってみました。 一例です。 ↓の画像のようにSheet1のデータをSheet2に表示するようにしています。 日付は両Sheetともシリアル値が入っていて、Sheet2の日付はあらかじめ入力してあるものとします。 Sheet2のA2セルに =IF(COUNTIF(Sheet1!$A:$A,A$1)<ROW(A1),"",INDEX(Sheet1!$B$1:$B$1000,SMALL(IF(Sheet1!$A$1:$A$1000=A$1,ROW($A$1:$A$1000)),ROW(A1)))) これは配列数式になってしまいますので、この画面からA2セルにコピー&ペーストする場合は A2セルに貼り付け後、 数式バー内で一度クリック → 編集可能になりますので Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列方向と行方向にオートフィルでコピーすると画像のような感じになります。 尚、ご質問通りに1行目・列方向に日付が並んでいるのであれば当然数式も変わってきます。m(__)m

共感・感謝の気持ちを伝えよう!

質問者からのお礼

迅速なご回答ありがとうございました。 配列を使用する方法も含め、まったく考え付きませんでした。 じっくり理解したいと思います。 本当にありがとうございました。

関連するQ&A

  • エクセル データの比較・抽出方法について

    列1と列2を比べて、データが一致しないものを抽出したいのですが、方法がわかりません。どなたかご存知のかた教えていただけないでしょうか? 列1     列2 りんご   りんご みかん   メロン もも    もも いちご   バナナ 列2にあって 列1にないもの (→この場合メロン・バナナ) 列1にあって 列2にないもの (→この場合みかん・いちご) をそれぞれ分かるようにしたいのです。 エクセルの関数を使ってできたらよいなと思うのですが どなたか知恵を貸していただけないでしょうか。 よろしくお願いします。

  • エクセルで表を作成したいのですが、

    エクセルに詳しくないので教えてほしいです。 下記のような表があります。   1 日付    商品   A重量   B重量 2 11月1日  みかん  143.774 56,236 3 11月5日  りんご   144.265 55,000 4 11月9日  みかん  162.472 48,800 5 11月25日  りんご 162.317 49,200 6 11月26日  りんご 143.232 60,800 この表を参照して 1 11/2 11/1 みかん  200 2 11/8 11/9 みかん 211          ・          ・          ・ という具合に、みかんだけを先に抽出し、そのあとりんごだけを続く表にしたいです。 1 11/2  11/1 みかん  A重量(四捨五入)+B重量(1000で割って四捨五入) となっています。 A1のセルは、B1の翌日の日付が入るようにしたいです。 わかりにくい説明かもしれませんが、おわかりの方どうぞよろしくお願いいたします。 

  • COUNT IF???

    エクセル初心者です。 A列とB列にある項目で違うモノをはじき出したいのですが。 A列     B列    りんご   りんご    みかん   りんご りんご   みかん メロン    メロン みかん みかん いちご メロン A列にもB列にもないのが『いちご』という具合に答えを出したいのですが、何か良い方法を教えてください。 よろしくお願い致します。

その他の回答 (2)

  • 回答No.3
  • imogasi
  • ベストアンサー率27% (4566/16352)

質問は初めてするのかな・ A列 4/1  りんご B   4/1  みかん C   4/1  いちご D   4/2  みかん E   4/2  メロン F   4/3  いちご とはシートの見た目に従って A列・・・B列・・・C列・・・・ 4/1   4/1  4/1 りんご  みかん いちご と書いて質問するべきです。 またエクセルのシートの使い方として、データは、縦方向に流すやり方の入力が標準です。 今は(2007以後)列数も大幅に増えたとはいえ、行数より、列数のほうが少なく、制約が多い。 エクセルの特有のリストとかテーブルの考えも縦方向にデータを入力する前提です。 ーー さて本件表の組み換えでしょう。 例データ 4月1日4月1日4月1日 りんごみかんいちご 302010 abd コピー G1とかを指定して 形式を選択して貼り付け 行と列を入れ替える OK で 4月1日りんご30a 4月1日みかん20b 4月1日いちご10d のようになる。(参考) ーーーーー 例データ 4月1日りんご 4月1日みかん 4月1日いちご 4月2日みかん 4月2日メロン 4月3日いちご とあるものを同じ日の分は同行に順次同行別列に並べたい (こういう風に質問文に主旨を文章でも書くこと) 関数は並べ替えは苦手です(抜き出しと同じことなので)(式が拭くざるになる) VBAなら素直に蚊mmが得るとおり出来て、複雑でもない) 条件付抜き出しと同じく、色んなやり方があるが、作業列を使うimogasi方式でやってみる。 例データ C列は  作業列です(その左側5桁は日付シリアル値というもの。それに同一日付内の連番数字を加えている) A列・・・・・・B列・・・・・・C列  4月1日りんご406341 4月1日みかん406342 4月1日いちご406343 4月2日メロン406351 4月2日みかん406352 4月2日メロン406353 4月3日いちご406361 4月3日りんご406362 ーー D1:D3 (何処でも良いが式が少し変わる) 4月1日 4月2日 4月3日 と入れて E1に =IF(COUNTIF($A$1:$A$100,$D1)<COLUMN()-4,"",INDEX($B$1:$B$100,MATCH($D1&(COLUMN()-4),$C$1:$C$100,0),1)) と入れて右方向に式を複写 E1:H1の式を下方向に式複写 結果 4月1日りんごみかんいちご 4月2日メロンみかんメロン 4月3日いちごりんご #N/Aを出さないために、IF(COUNTIF($A$1:$A$100,$D1)<COLUMN()-4,"",の部分をかぶせている。 ーー これでも式が複雑と感じるかもしれないが、INDEXとMATCH関数の2つの組み合わせが基本である。 他の回答ではもっと複雑な式が出ているが、こういうものは初心者には理屈が判るのも難しかろう。 エクセル関数でやろうとすることに無理があるのだ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。   A列・・・B列・・・C列・・・・ 1  4/1   りんご 2  4/1   みかん 3  4/1   イチゴ の質問間違えでしたが、参考にさせて頂きます。 ありがとうございます。

  • 回答No.2
  • KURUMITO
  • ベストアンサー率42% (1835/4283)

列と行が違っているようにも見られますので元のデータは次のようになっているとします。 シート1のA1セルには日付などの項目名が有り、A2セルから下方には4/1,4/1,4/1,4/2・・・のように日付が入力されているとします。B2セルから下方にはりんご、みかん、いちご…と入力されているとします。 そこで作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,ROUNDDOWN(MAX(C$1:C1),-8)+100000000,ROUNDDOWN(MAX(C$1:C1),-8))+A2*1000+COUNTIF(A$2:A2,A2)) この式は日付も含んだ情報を含むために多少複雑な式になっています。 そこでお望みの表をシート2に作るとしたら例えばシート2のA2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)=1,IF(COLUMN(A1)>MAX(Sheet1!$C:$C)/100000000,"",INDEX(Sheet1!$A:$A,MATCH((COLUMN(A1)+1)*100000000,Sheet1!$C:$C,1))),IF(OR(A$2="",COUNTIF(Sheet1!$C:$C,COLUMN(A1)*100000000+A$2*1000+ROW(A1)-1)=0),"",INDEX(Sheet1!$B:$B,MATCH(COLUMN(A1)*100000000+A$2*1000+ROW(A1)-1,Sheet1!$C:$C,0)))) なお2行目には日付のシリアル値が表示されますので書式の表示形式で日付にします。 これで日付を含めた書き換えが完成します。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 かなり難しい式になるのですね。 かなり参考になりました。

関連するQ&A

  • Excelで表を展開するには?

    客先より下のような発注書が、エクセルで届きます。 商品名 単位 A社 B社 C社 ・・・ 合計 --------------------------------------------- いちご 20個  10   0   0 ・・・ (数式) いちご 50個   5  20   0 ・・・ (数式) みかん 10個  10   0   5 ・・・ (数式) みかん 30個   5  10   0 ・・・ (数式) りんご  5個   0   5  10 ・・・ (数式) りんご 10個   0   5  10 ・・・ (数式) これを以下のようなリストを作成するために展開したいのです。 商品名 単位 出荷先 個数 -------------------------- いちご 20個  A社  10 いちご 50個  A社   5 いちご 50個  B社  20 みかん 10個  A社  10 みかん 10個  C社   5 みかん 30個  A社   5 みかん 30個  B社  10 りんご  5個  B社   5 りんご  5個  C社  10 りんご 10個  B社   5 りんご 10個  C社  10 別シートにセル参照で書き出してみたのですが、出荷先名や出荷先数が変動するため、日が変わると合計が入ったり出荷先が漏れたりしてしまい、うまくいきません。 上記のような表を、別シートか、もしくはCSVでエクスポートする方法があれば教えてください。 よろしくおねがいします。

  • エクセル のマクロで 複数の表を1つにまとめたい

    エクセル のマクロで 複数の表を1つにまとめたい 下記のようなシートがあります。 Sheet1 A B C E F G I J K 1 日付  品名 数 日付  品名 数 日付  品名 数 2 1/1  みかん 100 1/2 りんご 50 1/1 バナナ 30 3 1/5  みかん 50 1/6 りんご 25 1/7 バナナ 20 4 1/10 みかん 30 1/11 りんご 15 1/10 バナナ 10 5 1/12 りんご 30 1/11 バナナ 10 6 1/13 りんご 50 みかん・りんご・バナナのそれぞれの表をマクロで下記のような1つの表ににまとめたいのですが どのようにしたら良いかご教授お願いいたします。 (初心者なので可能であればマクロ内で’コメント付きで解説いただけると助かります)  M N O 1 日付 品名 数 2 1/1 みかん 100 3 1/1 バナナ 30 4 1/5 みかん 50 5 1/6 りんご 25 6 1/7 バナナ 20 7 1/10 みかん 30 8 1/10 バナナ 10 9 1/11 りんご 15 10 1/11 バナナ 10 11 1/12 りんご 30 12 1/13 りんご 50 うまく説明できないのでイメージ画像を添付いたします。

  • エクセル関数で、ある条件で表中の値を拾う方法は?

    エクセル関数を使って、表からある条件下でセルを特定する方法を探しています。 match関数とchoose関数の組み合わせでそれなりにできたのですが、その計算式をコピーするにはまた数式を入れなおさなければならない事に気が付いて、その労力に挑む気にはなれません。 マクロを組むという事も考えましたが、関数で対応できそうな気がするので。 例えば、下表にて     A列  B列  C列 1行目 5/12 りんご 300 2行目 5/14 みかん 400 3行目 5/21 いちご 450 4行目 5/24 バナナ 800 5行目 5/31 メロン 950 B列の中で、みかんに一致するセルを特定し、そのみかんを買った日付をセルに書き出したい。 日付だけではなく、その金額も隣のセルに書き出したい。 ちなみに、品目が重複する場合もあるのですがそれは無視していいです。 =choose(match("みかん",B1:B5,0),A1,A2,A3,A4,A5) で、やってみたのですが、実はChooseの引数にあたるものが25個あって、みかんにあたる品目が20個くらいありますので、この数式を20個作らなければならないので他の方法を探しています。 どなたかご存知の方がいましたら教えてください。

  • エクセルで複数の条件からデータを抽出する方法

    次のような表において、A列の入荷日、B列の製品名から、別表に月別に製品別毎の入荷数及び合計金額を求める関数を教えて下さい。   A         B    C(個数) D(単価)         2013/2/15   みかん    100     50 2013/2/30   みかん    200     50 2013/3/2    りんご     50     70 2013/3/4    ぶどう    150     40 2013/4/3    いちご    100     50    よろしくお願いします     

  • エクセルの集計表について

    エクセルで下記のような表があります。 商品コード  商品名   A店(個) B店(個) 12      いちご   3      2 66      バナナ   6      20 12      いちご   55      4 55      メロン   12      9 66      バナナ   100      15 12      いちご   99       38              ↓ 商品コード  商品名   A店(個) B店(個) 12      いちご 合計             157    44 55      メロン 合計             12      9             66       バナナ    合計             106    35 集計表を使って、商品ごとにA店とB店の個数合計を出すのですが、 個数合計が出た行のみを、一括で書式を変えるにはどうしたらよいでしょうか? 商品は、100種類くらいあって、すべてのデーターの数は、3000くらいあります。 合計の列だけを抽出して、ドラックしてコピーしても、その間にあるすべての列が変更されてしまうので。 エクセルは、あまり詳しくないので、詳しいかたどうぞよろしくお願いします。

  • excelで自動的に連番をつける関数について

    excel2010を使用しています。 題名のとおりexcelで連番をつけたいと思っているのですが、ただ単純に1から順にというわけではなく困っています。 というのも例のように途中で重複しているデータについては、´(ダッシュ)などで印をつけておきたいのです。 【例】 A  B 1 りんご 2 みかん 3 ぶどう 3´ ぶどう 4 いちご 5 メロン 5´ メロン 5´ メロン 6  桃 B列にあるデータがあり、それをもとに重複しているデータは印をつけた連番をA列にふりたいのですが、どのような関数で出来ますでしょうか?よろしくお願いします。

  • EXCEL VBA 複数列を2列にまとめる

    下記のようなデータ(列数も行数も常に変わり、固定ではない)を ┌───────────────── │ A 列  | B列   | C列   | D列 ├─────────────────── │ 1 │伝票01 │品名01 | 品名02 │品名03 ├─────────────────── | 2 │0011 │みかん │みかん | りんご ├─────────────────── │ 3 │1001 │りんご  │いちご |    ├─────────────────── │ 4 │1100 │いちご  │みかん | ぶどう  └─────────────────── ↓のように2列にまとめる方法はございますでしょうか?VBAを希望しております。   よろしくお願い申し上げます。 ┌───────────────── │ A │ B   ├───────────────── │ 1 │伝票  │品名 ├───────────────── │ 2 │0011_品名01 │みかん  ├───────────────── │ 3 │1001_品名01 │りんご    ├───────────────── │ 4 │1100_品名01 │いちご ├───────────────── │ 5 │1001_品名02 │みかん  ├───────────────── │ 6 │1100_品名02 │いちご  ├───────────────── │ 7 │1001_品名02 │みかん  ├───────────────── │ 8 │1100_品名03 │りんご  ├───────────────── │ 9 │1001_品名03 │  ├───────────────── │ 0 │1001_品名03 │ぶどう  ├─────────────────

  • エクセルでの集計に関して

    こんにちは。いつもお世話になっております。 例えばですが、以下のようなCVSのデータがあります。 (エクセルで開けます。) 昇順 降順に変更可能です。 これが、何週間分かあり、タブがあって日にちごとに見れますが、 30件ほどの品目の、200件ほどのデータが50件ずつにのみ表示されます。 4/1分データ    品名   売り上げ数   りんご1  100    りんご2  200    みかん1  300    みかん2   400    バナナ1  500             次の50件→ -------------------------------------------- 4/2分データ    品名   売り上げ数   りんご1  1000    りんご2  2000    みかん1  3000    みかん2   4000    バナナ1  5000   バナナ2  6000   アボガド  7000   いちご   8000     次の50件→      ↓続く これを、エクセルで下記のようにしたいのです。 ********************************************** ID  品名    4/1分集計 4/2集計  4/3集計  4/4集計  4/4集計~~ A   りんご1  100   1000    300 B   りんご2  200   2000    400  C   みかん1  300   3000    500 D  みかん2   400   4000    600 E   バナナ1  500    5000    700 D  バナナ2        6000    800 E  アボガド       7000    900 F  いちご       8000    1000 日にちによって当然、新たな項目、アボガドやいちごがあったりします。みなさんでしたら、最速で一番簡単に行う為にどうしますか? ちょっといそいでてお知恵をどなたか下さい! ご教授下さいますようお願い致します。

  • Excel 関数 照合した結果がどこにあるのか表示したいのですが

    照合したいデータがあります。 A列とB列のセルを照合の結果、B列のセルがA列のどこにあるか、C列に行番号を表示したいのですが。 どのような関数がいいのか教えてください。よろしくお願いします。   A列   B列   C列 1 リンゴ みかん  2 2 みかん いちご  4 3 バナナ レモン  6 4 いちご メロン  5 5 メロン ぶどう  × 6 レモン

  • エクセル 他シートの日付毎データ取得

    エクセル2003を使用しています。 以下のようなデータ群(例:一ヶ月間の仕入れ日・品物)があり、 それを日付毎に別シートに移す作業を行いたいと思います。 ◆データ◆ A   B 2010/3/1 りんご 2010/3/1 みかん 2010/3/2 パイン 2010/3/2 いちご 2010/3/2 みかん ・ ・ ・ ◆移す先◆ A  B  C  D ・・・・ 2010/3/1 りんご みかん 2010/3/2 パイン いちご みかん ・ ・ ・ このように、一行にその日仕入れた品物を右方向に列記していく操作です。 予め、移す先の日付だけは1ヶ月分全てA列に記載しますので、品物名の 引き込みだけを行います。 既に体裁は作ってあるのですが、引き込む側のほうにどのような関数を 使えばいいのかがよくわかりません。 よろしくお願いいたします。