• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル表の作成)

エクセル表の作成方法と希望の表形式

bunjiiの回答

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>エラーの種類は「#N/A」となります。 >また、B9を含むB10以下、B列全てエラーとなります。 >CSVデータの範囲に合わせる形で、INDEXの参照範囲を変更致しました。 変更した参照範囲に誤りがあると思います。 >B1が(1)となり、右へ連続して、(1600)まであります。 >320行目まであります。 データ量が多すぎるので自動再計算をOFFにしないと作業が滞るでしょう。 データ量を1600列×10行で検証してみました。 貼付画像でSheet1は模擬データですがF列からBIM列を非表示にしてあります。 Sheet2は希望の配列で計算結果は途中までです。 また、中間を非表示にしています。 Sheet2の数式は下記のようにしました。 A2=IF(AND(E1>1,ISNUMBER(E1)),"",IF(MAX(Sheet1!A$2:A$11)=MAX(A$1:A1),"",MAX(A$1:A1)+1)) B2=IF(E2="","",INDEX(Sheet1!B$1:BIO$1,LARGE(INDEX((INDEX(Sheet1!B$2:BIO$11,MATCH(MAX(A$2:A2),Sheet1!A$2:A$11,0),0)<>0)*COLUMN(A2:BIN2),0),E2))) C2=IF(B2="","",INDEX(Sheet1!B$2:BIO$11,MATCH(MAX(A$2:A2),Sheet1!A$2:A$11,0),MATCH(B2,Sheet1!B$1:BIO$1,0))) E2=IF(A2="",IF(SUM(E1)>1,SUM(E1,-1),""),COUNTIF(INDEX(Sheet1!B$2:BIO$11,MATCH(A2,Sheet1!A$2:A$11,0),0),">0")) E2の数式はSUMPRODUCT関数をCOUNTIF関数に置き換えてみました。 再計算の負荷状況を確かめてください。

news-pochi
質問者

お礼

返事が遅くなってしまい申し訳ございません。 修正していただきました、関数で問題なく使用することが出来ました。 度々、お手数をお掛けして申し訳ございません。 丁寧に教えていただきありがとうございました(^^)

関連するQ&A

  • EXCELの表作成について

    EXCELについて質問です。 表Aと表Bから表Cのような結果を出すためには、 どうすれば良いでしょうか? 下記の例ではたいしたデータではありませんが、 膨大な数のデータがあるとして、関数などEXCELの機能を活用して簡単に 結果を出したいと思っています。 【表A】 A    B     C    D 1     A店 B店 C店 2 パソコン 3 掃除機 4 冷蔵庫 5 テレビ 【表B】 A店   B店   C店 パソコン パソコン パソコン 掃除機  冷蔵庫  掃除機 冷蔵庫  テレビ  テレビ 【表C】 A    B    C    D 1     A店 B店 C店 2 パソコン ○ ○  ○ 3 掃除機  ○    ○ 4 冷蔵庫  ○ ○ 5 テレビ     ○  ○ ※表A内で、表Bに該当する箇所に"○"が記入されます。 ※1~5はEXCELの行 ※A~DはEXCELの列 当方、EXCELは使い慣れていいますので、 多少難しい方法でも構いません。 (ややこしい関数の組み合わせも理論さえ理解すれば大丈夫です) どなたか分かる方がいましたら、 よろしくお願い致します。

  • エクセルでの表の作成

    今、エクセルの表で、A1からA100まで、1~100の連続した数字が入っています。C列のC1~C8には、任意の数字を入れます。 その際、C列に在る数字と同じ数字が在るA列のセルの右のセル(B列)に、自動的に○を、無ければ×と表示されるようにしたい、と思います。 次のような形です。  A列      B列       C列    1       ×       3 2          ×        6 3          ○        7 4         × 5         × 6        ○ 7         ○ 8         × 9         × 10         × ・    ・   ・   これを可能にする関数をご教示ください。

  • ★エクセルで星取表を作成したい★

    お世話になります。 エクセルのA~Zの行にあるデータをA列に入力した時に★(1でもいいのですが)を表示させたいのです。   A  B   C   D  E  F G・・・・・   1  2  3   4  5  6 1 ★ 2   ★  6              ★ 上のようなイメージです。VLOOKやIFなどやっては見たのですが出来ませんでした。 ちなみにVBAやマクロは苦手です。関数でよい方法はありませんか? お願いします。

  • エクセル2000での表の作成について

    仕事で困っています。よろしくお願いいたします。  あいう A123 B321 C 67 A45 D 59 E1 8 F123 ・ ・ ・ この列が1000行近くあり、いくつか重複がある。(上記の表でいえば Aのように) 上記のような表から  あいう 合計 A573 15 B321 6 C 67 13 D 59 14 E1 8 9 F123 6 こういう表をつくりたいと思っています。pibotをつかって  合計 A15 あ5     い7     う3 B6  あ3     い2     う1      こういう表はできたのですがレイアウトが気に入りません。 どなたかご教授ください。

  • Excelで表形式の変更をしたい

    Excelで質問です。 (1)のような表形式を、(2)のように、元の1列ごとに見出しを付けた形式にしたいのですが、マクロなしで可能なのでしょうか? また、マクロの使用・非使用に限らず、以下の操作を実現するマクロや関数を教えていただけると助かります。 よろしくお願いいたします。 関数や式を使ってみましたがうまくいきませんでした。。。 (1) 番号 名前 評価 1  佐藤 A 2  鈴木 B 3  田中 C (2) 番号 1  名前 佐藤 評価 A 番号 2  名前 鈴木 評価 B 番号 3  名前 田中 評価 C

  • 表引き

    表引き関数  再質問です 仮に A    B  C   D   E  A1    2  1   1   A2    4  2   1 A3    5  3   2  A4    6  4   4 A5    1  5   6 A6    2  6   2 BとCに2列の表があります E1には =vlookup(D1,B1:C6,2,false)の関数の式を入れました B列はランダムな数値 C列は通し番号です いつもは B列に通し番号 C列はランダム数値なのでD列の数値に対してのE列の表引きは問題ないのですが 上のように B列がランダムな数値 C列が通し番号の場合 B列に同じ数値が複数個あるとき E列に返してくるのは その数値の最初のひとつだけ  上の仮の表 では D列の数値に対して E1は 以下     E列  5  5  1と6  2  4  1と6 ですが この1と6の6が表引き出来なんです この6も表引きしたいのです どうすればいいのでしょうか 他の関数と組み合わせるんでしょうか よろしくお願いします

  • エクセルで表のある列を最初から最後まで選択するマクロ

    今現在、シートにA3:E700までの大きな表があります。 中のデータは文字列や数値です。 A列B列には途中に空白はありません。C~E列には空白もあります。 この表のB列だけを選択するマクロを書きたいのですが、データは日々増減するため最終行が特定できません。 どのように書けばいいのでしょうか?

  • エクセルの表から差し込み印刷したい

    ある表のA,B,C,D,Eの列に入っているデータを元に、画像のような表にA,B,C,D,Eの列を反映させた表を作成したいのですが、差し込み印刷で可能でしょうか?

  • 【エクセル】グラフの作成方法を教えてください

    以下のデータから希望のグラフを作成したいのですが、うまく出来ません。。 教えてください、宜しくお願い致します。 (1)データ  A列   B列   C列   D列   E列 ・ ・ ・ ・           名前A  名前B  名前C ・ ・ ・ ・  日付   時刻 2016/1/22 15:00  1    2    3 2016/1/22 16:00  0    4    0 2016/1/22 17:00  2    5    1 (2)希望のグラフ 15:00  16:00 17:00     2016/1/22 2016/1/23 2016/24 ←約1ヶ月あります。 中のデータを件数で表示したいです。 グラフ形式は問いません(縦、折れ線など)

  • エクセルVBAでレイアウトを変えて表作成

    こんにちは。 お世話になります。 エクセルの表をレイアウトを変えてcsv出力したいと考えています。 「これを大きく二つに分けると既存の表を別レイアウトの表にし直す」 + 「エクセルの表をcsv出力する」 になり、後者はどうもやり方が見つけられそうですので今回は割愛します。 表のレイアウト変更について、以下に例示します。 【既存の表】 A           B     C     D     E     F アイテム名 カラー  100cm 120cm 150cm 200cm アイテムA 赤 1 アイテムA 青 3 2 1 0 アイテムB 白 4 5 アイテムC 2 【レイアウト変更した表】 アイテムA 赤 120cm 1 アイテムA 青 100cm 3 アイテムA 青 120cm 2 アイテムA 青 150cm 1 アイテムA 青 200cm 0 アイテムB 白 150cm 4 アイテムB 白 200cm 5 アイテムC 100cm 2 現在、既存の表の対象範囲をCells(j,i)でjとiをLOOPさせて 空白行でなかったら…というIF分岐まで作りました。 残すは 空白ではない値に出会ったら、 その行のA列の値+B列の値+その列の1行目(サイズタイトルセル)の値+空白でない値(在庫数) を1レコードとして任意の場所にセット 改行してまた進めていく です。 そこまでできたら、csvデータ出力の方法をググり再開しようと思っています。 Cells関数を使えば上記の各値を取得することはできそうですが、それをどうやって保持する?か、 どうやって任意の場所に貼り付けるか、のあたりがわかっていません。 VBAデビュー後間もないのでできるだけ簡易で具体的なアドバイスをお願いいたします。