• 締切済み

重複なし列として重複あり列をカウントしたい

下記の表があったとします。 伝票番号  チケット種類  1    1泊チケット  1    1泊チケット  2    2泊チケット  2    2拍チケット  3    1泊チケット チケット種類の数を重複なしとした伝票番号で カウントしたいです。 結果として重複なしとした場合の伝票番号の数は3のうち、 1泊チケットが2 2泊チケットが1 という値を出したいです。 関数、VBA、ピボットテーブルなど どのような方法でも構いません。 どなたかご教授、よろしくお願いします。 ※OKWAVEより補足:テーマ「EXCEL」から投稿された質問です。

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.6

元データがExcelとのことですが,ACCESSでインポート出来ますか テーブル設計でチケットの種類のインデックスを重複なしと定義して、重複データをインポート段階ではじいてくれます。 商品マスタ等品名、規格、サイズ、色と複数項目でユニークにするにはこれらのフィールドの集まりを主キーとします。図参照 この時他のテーブルとリレーションを組むためにオートナンバー型のIDも加えます。

回答No.5

> 関数、VBA、ピボットテーブルなど > どのような方法でも構いません。 先んじて質問を返しますが、例えばVBAでどなたかに回答されたとして ご自身向けに改修できますか? 偏見かもしれませんが、ソレが出来る方のご質問には見えなかったもので。 さて。 例えば添付図。作業列(C列)を使います。 A:B列にお示しのデータがある場合、   C2セル:=IF(COUNTIFS($A$2:A2,A2,$B$2:B2,B2)=1,1,0)        ※以下、必要行分フィル これで伝票番号への付番終了。 次いで、E列にチケットの種類を用意し、   F2セル:=SUMIF(B:B,E2,C:C) で、種類ごとの作業列を合計してやって終了。 仕組みは簡単ですから自力で紐解いてください。 ・・・よく考えたら・・・いや、考えなくても   C2セル:=IF(COUNTIF($A$2:A2,A2)=1,1,0) だけで良いですね。 条件がこの2個だけなら、ですが。

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.4

> 関数、VBA、ピボットテーブルなど どの方法でもできますけど > どのような方法でも構いません。 「どのような方法でも構いません」と書いている以上 自分な らこうするという回答をします。 Sheet1の A:B列にデータがあるとして データベースクエリで SELECT チケット種類, Count(チケット種類) As 件数 FROM (SELECT 伝票番号, チケット種類 FROM [Sheet1$A:B] WHERE 伝票番号 Is Not Null GROUP BY 伝票番号, チケット種類) As a GROUP BY チケット種類

  • takuranke
  • ベストアンサー率31% (3923/12455)
回答No.3

結果出したいセルに =countif(検索して数えたい対象セルの範囲,検索条件) 例えば 伝票番号がA列で、1から100行まである場合。 伝票番号が1のものを集計したいのなら、 =countif(A1:A100,1) 2のものを集計したいなら =countif(A1:A100,2) 一泊チケットのように文字列で集計したい場合は =countif(A1:A100,”一泊チケット”) 文字列をダブルクォーテーションで囲みます。

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

「2拍チケット」の「拍」の字が・・・

chaos_brionac
質問者

お礼

ありがとうございます。 正確には「2泊チケット」です。失礼いたしました。

chaos_brionac
質問者

補足

表の中のチケット種類に誤字がございました。 正しくは「2泊チケット」です。失礼いたしました。

関連するQ&A