Excel表作成における果物の一覧化方法

このQ&Aのポイント
  • Excelの表には100種類以上の果物があり、月ごとに果物の場所と種類が変化しています。しかし、フィルターをかけるだけでは思い通りの表示ができません。より使いやすくするためには、別の機能や関数を利用する必要があります。
  • 例えば、各月ごとに選択した果物の名前と個数を横一列に揃えたい場合、VLOOKUP関数を使用することで実現できます。VLOOKUP関数を使うと、指定した値に一致するデータを別の範囲から取得できます。これにより、選択した果物の個数を各月ごとに表示することができます。
  • また、条件付き書式を利用することで、特定の条件に一致するセルを目立たせることができます。例えば、1月にはあって4月にはない果物を目立たせるために、条件付き書式を設定することができます。これにより、一目で変化する果物を確認することができます。
回答を見る
  • ベストアンサー

いま作っているExcelの表について

この表についてなんですが、これは実際の表を小さくしたもので、実際は100種類以上の果物があり、月も12月までです。 この表、1月~4月まで果物の名前とその個数が書いてありますが、月ごとに果物の場所と種類が増えたりとで、ばらばらです。実際は100種類以上あるので、ばらばらだととてもみにくいのです。これをエクセルの機能を使って、たとえばメロンならメロンの個数が、各月ごとに名前と個数が横一列に揃えれないでしょうか? 追記 1月にはあっても4月にはなくなる種類の果物があっても大丈夫なように。逆も同じで1月になくて4月に種類が増えても大丈夫なように。 とりあえず、作りたい表はある一定のくだものを選択したら各月ごとにその数が横一列にみやすいようにでるようしたい。けして合計の数ではないです。 自分でいろいろためしたのは、フィルーターをかけたり昇順降順など簡単な機能は一通りためしました。 フィルターのだめな点は、全部にフィルターがかかってめろんを選択するとそのめろんの行以外を消すだけで、その同じ行のほかのくだものまではいってきてしまうこと、個別にフィルターをかけて昇順などでならびかえても違う果物がはいっているので、月ごとに行のばらつきができてしまうこと。 なにか関数とか別の機能を使ってみやすくする方法はありますか?

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

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

こんばんは! VBAになりますが、一例です。 出現順に表示させる方法はどうでしょうか? 今回は行合わせ重視でやってみましたので、 ↓の画像のようにデータがない月は空白になります。 元データはSheet1にあるとします。 Sheet2を作業用のSheetとして使用していますので、Sheet2は使っていない状態にしておいてください。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub 並び替え() 'この行から Dim i As Long, j As Long Dim lastRow1 As Long, lastRow2 As Long Dim c As Range, wS As Worksheet Set wS = Worksheets("Sheet2") Application.ScreenUpdating = False With Worksheets("Sheet1") '▼Sheet1のA列データをそのままSheet2のA列に表示 lastRow1 = .Cells(Rows.Count, "A").End(xlUp).Row If lastRow1 > 1 Then Range(.Cells(2, "A"), .Cells(lastRow1, "A")).Copy wS.Range("A2") End If '▼Sheet1の3行目~12月(24列目)まで For j = 3 To 24 Step 2 ' lastRow1 = .Cells(Rows.Count, j).End(xlUp).Row '▼Sheet1のj列の2行目~最終行まで 'すでに出現しているデータの場合、Sheet2の同じ行のC列にコピー&ペースト For i = 2 To lastRow1 Set c = wS.Range("A:A").Find(what:=.Cells(i, j), LookIn:=xlValues, lookat:=xlWhole) If c Is Nothing Then wS.Cells(Rows.Count, "A").End(xlUp).Offset(1) = .Cells(i, j) lastRow2 = wS.Cells(Rows.Count, "A").End(xlUp).Row .Cells(i, j).Resize(, 2).Copy wS.Cells(lastRow2, "C") '▼初出現データの場合はSheet2のA列最終行の一つ下へデータを追加 Else .Cells(i, j).Resize(, 2).Copy wS.Cells(c.Row, "C") End If Next i '▼Sheet2のC・D列に表示されたデータをSheet1のj列にカット&ペースト lastRow2 = wS.Cells(Rows.Count, "C").End(xlUp).Row Range(wS.Cells(2, "C"), wS.Cells(lastRow2, "D")).Cut .Cells(2, j) wS.Range("C:C").Clear Next j wS.Cells.Clear .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous End With Application.ScreenUpdating = True End Sub 'この行まで ※ 関数でないので、Sheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m

MeLL1122
質問者

お礼

これをコピー、ペーストして少し手直ししたら思っていた表ができあがりました。これでフィルターをかけたら、以前の表だとばらばらだったのがしっかりと種類別になりとてもみやすくなりました。 100種類以上x12を手直しするのはかなりの時間がかかるので、短時間でできたので感謝してます。 私自身マクロの知識がないので、コピーだけで次に生かせないのが残念ですが、今回は急ぎだったので助かりました。 ありがとうございます!

その他の回答 (2)

noname#212058
noname#212058
回答No.2

回答No.1です。 別シートにVLOOKUP 関数を駆使した集計用の表を作る 方法も考えられます。 ○元の表  A     B     C       D 1 4月         5月 2 ---------------------------------------------- 3 りんご     3  マンゴー    10 4 超リンゴ    10  怒りのマンゴー  2   : ○集計表  A       B 1 果物名    4月                    5月 2 ----------------------------------------------------------------------- 3 りんご    =VLOOKUP(A3,元の表!A$3:B$100,2,FALSE) =VLOOKUP(A3,元の表!C$3:D$100,2,FALSE) 4 超リンゴ =VLOOKUP(A4,元の表!A$3:B$100,2,FALSE) =VLOOKUP(A4,元の表!C$3:D$100,2,FALSE)   : これで集計表に「元の表」のデータが集約されます。 【注意点】  ・集計表の果物名のリストは自分でまとめて作らなくてはなりません。   VLOOKUP関数は単に「元の表の個数データを集める」ことしか   しません。  ・「元の表」の果物名は名前の順でソートしてある必要があります。  ・集計表には「元の表」にない果物は #N/A と表示されます。   これが嫌であれば、ISERROR 関数を使って回避します。   (具体的な方法は GOOGLE で VLOOKUP ISERROR で検索    してみてください)

MeLL1122
質問者

お礼

各月ごとに新しくはいった果物、または前の月にはあって次の月になくなってしまう果物の種類全部を調べて、すべての果物名のリストを作ることができなかったので、回答No3さんのアンサーをベストアンサーにさせていただきました。 VLOOKUPはよく使う関数だと思うので、しっかりと勉強して次使う機会あったら使わせていただきます。 ありがとうございました^^

noname#212058
noname#212058
回答No.1

月ごとに果物リストを作るのではなく、全体の果物リストに対して月の 個数を書いていったほうが良いように思います。 果物名      4月  5月 … ------------------------------------ りんご       3   *   超リンゴ      10   * メタルリンゴ    2   * マンゴー      *   10 怒りのマンゴー   10   2 ------------------------------------ その月に売らない果物は個数を * にします。 売らない果物は最初に決まると思うので、月の入力前に * を入れて、 実際の入力時は * をフィルタで非表示にするか、並び替えで表の下に 追いやれば良いでしょう。 この表なら、何も考えなくても横に果物の月別個数が並びますよね。

関連するQ&A

  • エクセルで個数を数える、グラフにする

    エクセルで以下のようなデータがあるとします。 商品名 個数 りんご 5 みかん 3 メロン 2 いちご 1 パイナップル 2 すいか 3 マンゴー 5 とこれらのデータを 個数 果物の種類 1 1 2 2 3 2 4 0 5 2 のようなデータに変換したいと思っています。 どのようにすればよいでしょうか? グラフにもしたいと思っています。 ちなみに、 実際には100行ぐらいのデータが存在し、 商品名 個数 商品名 個数 りんご 3  さんま  2 みかん 5  あじ   4 のように横にも他のデータが存在しています。 (魚のデータも果物と同じような処理をしたいです)

  • エクセル 集計について教えてください!

    エクセルで、特定の列に該当する条件に当てはまる数を数えたい時、 どの関数を使えばいいでしょうか。 エクセル得意な方、教えてください。 たとえば、 A列=果物名(もも、りんご、みかん、ぶどう…etc) B列=仕入れた店名(全国各地の店名) C列=仕入れた個数 D列=入荷した日にち を、日ごとに年度でまとめたエクセル表あるとします。 別シートに、 果物ごとに、月別でいくつ仕入れたか、集計したい時にはどの関数を使えばいいでしょうか。 A2、A3、…~果物名 B2行、C2行、…~各月 として、仕入れた数を合計する、という表にしたいです。 (どの店で、という条件は不要です) SUMIFSを使えばいいのかなと思ったのですが、 月別の条件になると、別の関数もいるのかとか、 ただ数を数えるなら、COUNTIFでいいのかとか、色々考えていたら、 どう組み合わせればいいかわからなくなりました…。 オートフィルタやマクロではなく、関数で作りたいのです。 教えてください。 どうぞよろしくお願いします。 ちなみに、エクセルは2010を使っています。

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

    エクセルで下記のような表があります。 商品コード  商品名   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くらいあります。 合計の列だけを抽出して、ドラックしてコピーしても、その間にあるすべての列が変更されてしまうので。 エクセルは、あまり詳しくないので、詳しいかたどうぞよろしくお願いします。

  • エクセル

    エクセルで月別の売上個数がわかるグラフを作成中です。(X=月,Y=個数,商品はAとBの二種類とします) 普通に作成すると、各月ごとにAとBのデータ系列が並んでグラフ化されますよね? そうではなく、AのグラフとBのグラフが別々に・・・何て言えばいいでしょう(^^;)1つのグラフに2つのグラフが作成されるようにしたいのです。(意味、わかりますでしょうか?) これは可能ですか? それと、作成した表の列と行を入れ替えるというのは可能でしょうか??

  • エクセルで集計表を作ろうとしています。

    エクセルで集計表を作ろうとしています。 商品コード  商品名   A店(個) B店(個) 12      いちご   3      2 66      バナナ   6      20 12      いちご   55      4 55      メロン   12      9 66      バナナ   100      15 12      いちご   99       38 上記のような表から、商品ごとにA店とB店の個数を出したいのですが、 商品は、100種類くらいあって、すべてのデーターの数は、3000くらいあるので、簡単に出す一番いい方法を教えてほしいです。 最終的には、 商品コード  商品名  A店  B店 12    いちご  231  100 55    メロン  230  55 66    バナナ  99   198 みたいなかんじで4項目を100くらいある商品コード順に表示したいです。 ピポットや集計表を使えばいよいのでしょうか?エクセルは、あまり詳しくないので、詳しいかたどうぞよろしくお願いします。

  • Excelバブルグラフの作成時の表の作り方

    こんにちは。 ディズニーランドの入場者数と各人が購入したおみやげの個数を月別に バブルグラフで表したいと思います。 つまり、横軸に月、縦軸におみやげの個数、バブルの大きさで縦横軸に該当する 入場者数を表したいのです。 実際に以下のように表を作ってみました。 行1に月、列Aにおみやげの個数、各セルに入場者数を入力 しかし結果として 横軸におみやげ個数、縦軸に入場者数、バブルの大きさも入場者数 凡例が月になってしまいました。 どのように表を書くと 「横軸に月、縦軸におみやげの個数、バブルの大きさで縦横軸に該当する 入場者数を表す」事ができますか? ご存じの方お教えください。 よろしくお願いいたします。

  • エクセルで管理表を作りたい

    20枚程になる機械の一覧表を作成したのですが、各ページの表の一行目に機械名や日付などの項目のタイトルを入れて、一列目には機械の横に1から20まで番号を付けます。追加や削除があったときに簡単に一行削除や行追加ですむように各ページの一行目、一列目に常に同じ内容を印刷するにはどうすればいいんでしょうか? 一行目はページ設定の中の印刷タイトルを使ったんですが、列の方がよくわかりません。いい方法があれば教えてくださいよろしくお願いします。

  • EXCELVBAで最終行が決まらない表の計算

    VBAなども書き始めたの最近なので、説明がつたないかもしれませんがよろしくお願いします。 EXCELの下記のような表があります。 それぞれのセットに対して、個数・のし代・売上を、各月ごとに出す表になっています。 計算としては、B1に書き込まれる仕入れ値の値を、それぞれのセットの個数に掛け、 その値と、のし代を加えたものが売上となって計算されて表示されるようにし、 最終行の合計にはそれぞれのセットの売上の合計値が表示されます。 例えば、お皿セットの4月は150x5+200の答えの950がC5のセルに入ります。 このようにして、各セットの各月の売上が個数、もしくはのし代の欄に値があれば計算し、 合計の欄に答えが入るようにしたいのです。 セットの数は決まっていないため最終行は変動し、個数、もしくはのし代の値が入っているのであれば、 求められるようにしたいのです。 ただし、1年ごとなので、N列までになります。 A        B       C      D      E       ・・・ N 1 仕入れ値  150 2                 4月     5月     6月     ・・・3月 3 お皿セット  個数      5      10     10 4         のし代    200     400    200 5         売上 6 箸セット   個数       3      5      6 7         のし代    100            300 8         売上 9 茶碗セット  個数      2              3 10        のし代    100     100     100 11         売上    ・       ・       ・         ・      ・     ・    ・       ・       ・         ・      ・     ・    ・       ・       ・         ・      ・     ・  合計 関数などを使って、別シートに一旦答えを出して・・・と行っていたのですが、 表の中に計算式があると、入力した値を消した時に式が消えてしまうので Do ~Loopなどを使用することを考えました。 しかし、簡単な空白や最終行が決まったものしか書いたことが無く、 今回のような空白の行が点在し(個数無しでのし代あり、個数ありでのし代なしなど)途中にもあり、 2つおきに計算値が入るため途方にくれてしまいました。 1度で求められなくても良いので、マクロで作成できないものでしょうか。

  • エクセルでの表(関数)について

    いつもお世話になっております。 また、お力添えをお願いします。 例えですが下記添付画像のような表を作りたいと思っています。 A表には、果物の種類(りんご、みかん、スイカ、ぶどう)、個数、購入年月日を入力します。 A表で入力したデータをB表に表示させるにはどうしたらいいのでしょうか。 よろしくお願いします。

  • エクセルの関数を教えてください。

    エクセルの関数について教えてください。 条件を満たした数を合計させる関数を教えてください。 たとえば果物屋さんで下記のような売上個数の表があったとします。        A       B     C     D 01行  4月01日  青森産  りんご   1個 02行  4月01日  秋田産  りんご   5個 03行  4月01日  新潟産  りんご   4個 04行  4月01日  青森産  みかん   3個 05行  4月01日  秋田産  レモン   4個 06行  4月01日  青森産  レモン   2個 07行  4月02日  青森産  レモン   1個 08行  4月02日  青森産  みかん   8個 09行  4月02日  秋田産  みかん   7個 10行  4月02日  秋田産  りんご   3個       ・       ・       ・       ・ 31行  4月31日  秋田産  りんご   2個 といった一ヶ月の売り上げ個数リストがあったとして 教えてほしい関数は、上記の中から ”青森産” の ”りんご” が 1日~31日 の間に 売れた数の合計を求める関数が知りたいのですがそんな関数はありますか? =SUMIF(C1:C31,"りんご",D1:D31)として『りんご』のみの合計の出し方はわかるのですが 『りんご』に『青森産』などといった複数の条件をつけた際の合計の方法がわかりません。 また、フィルター機能で青森産、りんごと絞り込んだ後での合計ではなく あくまで、関数で求める方法を教えていただけませんでしょうか?