• ベストアンサー

エクセルで計算方法教えてください!

大量の資料を片付けてまとめるのに手間取っています。エクセルでスムーズにまとめたいのですが、例えば… 1000件の取引先リストがあります。 AAAAAA株式会社 BBBBBB株式会社 CCCCCC有限会社 DDDDDD株式会社 EEEEEE有限会社 … 中には同じ会社がかぶっているものがあります AAAAAA株式会社 BBBBBB株式会社 CCCCCC有限会社 AAAAAA株式会社 EEEEEE有限会社 BBBBBB株式会社 … 要するにこれをソートして同じ会社の名前が2つ出てこないようにしたいのです。普通にソートしただけだと… AAAAAA株式会社 AAAAAA株式会社←同じ会社なのでいらない BBBBBB株式会社 BBBBBB株式会社←同じ会社なのでいらない CCCCCC有限会社 EEEEEE有限会社 … 100件程度なら手動で削除も頑張れますが数千件あるとさすがに無理なのでこれを判別して自動的に削除する計算方法があればどなたか教えてください!

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

>削除する計算方法があればどなたか これがエクセルの関数を考えているなら、原理的に不可能なので、思い違いしないように。エクセルの関数は行削除はできません。 ただし他シートなどに、元シートの重複しない(行)ものだけを持ってくる 方法はあり、私も過去の質問に何度も答えましたが、少し複雑だし、あまり 勧めません。 同じことをVBAでやれば、特にソート後のものを対象にすれば、下記のように、かんたんです。ソートもマクロの記録を多少改造すればできます。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("sheet1") Set sh2 = Worksheets("sheet2") '最下行数を知る d = sh1.Range("A65536").End(xlUp).Row 'MsgBox d j = 1 'sheet2に書き出す先頭行 m = "XXX" 'Sheet1の第1行以外の値をセット For i = 1 To d '---A列直前の行と変わったか If sh1.Cells(i, "A") = m Then Else '----変わったときA,B列をSheet2へ移す sh2.Cells(j, "A") = sh1.Cells(i, "A") sh2.Cells(j, "B") = sh1.Cells(i, "B") m = sh1.Cells(i, "A") j = j + 1 'Sheet2の次行へ End If Next i End Sub 自分に合わせて改造できるならどうぞ。

その他の回答 (3)

回答No.3

ココに重複行を削除するVBAコードがあります。以前同じような質問があったので、再度のせます。 1列目の値が同じものを1つのこして他は削除します。 任意の列での比較では、コードのCells(○,1)の1を調べたい列の数字にすればいいです。 このコードは、シートタブ右クリック、コードの表示ででてくるシートにコピペ。 動かすときは、「ツール」「マクロ」「マクロ」「実行」です。 Sub GyouDelete() Dim myLastLow As Long Dim i, r As Long '画面のちらつきをなくす Application.ScreenUpdating = False 'シートの行数カウント r = ActiveSheet.Rows.Count '1列目の最下行の数字を見つける myLastLow = Cells(r, 1).End(xlUp).Row '最下行から上へ重複データ削除 For i = myLastLow To 3 Step -1 If Cells(i, 1).Value = Cells(i - 1, 1).Value Then Cells(i, 1).EntireRow.Delete End If Next i End Sub

  • -izayoi-
  • ベストアンサー率45% (48/105)
回答No.2

[データ]-[フィルタ]-[フィルタオプションの設定]の「重複するレコードは無視する」 で、どうでしょうか?

回答No.1

「ピボットテーブル」という機能があります。 それで集計すれば重複した名前は出てこなくなります。 ピボットテーブルについて詳しくはマニュアルもしくはヘルプをご覧ください。

関連するQ&A

  • グループ毎に通番を付与して返すSQLを教えて下さい

    下記の「テーブル1」から、 テーブル1 商品名|価格 ------------ AAAAAA|1000 AAAAAA|1200 AAAAAA|1500 BBBBBB|2100 BBBBBB|2600 CCCCCC|2000 DDDDDD|3000 EEEEEE|6000 EEEEEE|6000 EEEEEE|7000 EEEEEE|7500 下記のように出力するにはどのようにSQLを書いたらいいでしょうか。 商品名|価格|通番 ------------------ AAAAAA|1000|1 AAAAAA|1200|2 AAAAAA|1500|3 BBBBBB|2100|1 BBBBBB|2600|2 CCCCCC|2000|1 DDDDDD|3000|1 EEEEEE|6000|1 EEEEEE|6000|2 EEEEEE|7000|3 EEEEEE|7500|4 要するに、「商品名」ごとに、「価格」で昇順にソートして「通番」をつけたいのです。 なお、上記「EEEEEE」には価格が6000のレコードが2つありますが、「通番」はそれぞれ1と2をふっています。 このように、価格が同じレコードがある場合にもカウントアップさせて通番を付与したいです。 ご回答よろしくお願い致します。

  • 文字列の並べ替え

    以下のようなテキストがあります。 AAAAAA BBBBBB CCCCCC DDDDDD CCCCCC BBBBBB BBBBBB DDDDDD AAAAAA これを↓のように横軸で並べ替えたいのです。 AAAAAA BBBBBB CCCCCC BBBBBB CCCCCC DDDDDD AAAAAA BBBBBB DDDDDD 使えるツールとしてはGoogleスプレッドシートです。 なにかいい手順はないでしょうか。

  • エクセルでピボットを組むと、集計されたデータの一番上にしかデータが出て

    エクセルでピボットを組むと、集計されたデータの一番上にしかデータが出てこなくなります。 集計した上で、すべての行にデータを入力することはできないのでしょうか。 【現状】 大分類  中分類  小分類 AAAAA  BBBBBB  CCCCCC (空白) (空白) CCCCCC (空白) DDDDDD  EEEEEE (空白) (空白) EEEEEE     ↓↓↓↓ 【理想】 大分類  中分類  小分類 AAAAA  BBBBBB  CCCCCC AAAAA  BBBBBB  CCCCCC AAAAA  DDDDDD  EEEEEE AAAAA  DDDDDD  EEEEEE もしやり方があるのであれば、教えてください。

  • エクセルのオートフィルターにつきまして

    エクセルのことでお聞きしたいことがあります。 下のような、AAAやDDDについての説明がとなりの列に複数行表示されているようなデータを作りました。 AAA aaaaaa     bbbbbb     cccccc DDD dddddd     eeeeee     ffffff そこで、AAAやDDDが書いてある列からAAAだけを選択できるようにして、 AAA aaaaaa     bbbbbb     cccccc のように、AAAの説明のみが表示されるようにしたいのですが、オートフィルターを使ってもうまくいきませんでした。 どなたか、良い方法をご存知でしたら、教えてください。お願い致します。

  • SELECT結果から重複行を除く方法

    下記のようなテーブルから重複なくSELECTしたいと考えています。 temp_table ------------------------ | id | name_1 | name_2 | ------------------------ | 1 | aaaaaa | bbbbbb | | 2 | cccccc | dddddd | | 3 | cccccc | dddddd | | 4 | aaaaaa | bbbbbb | | 5 | cccccc | jjjjjj | ------------------------ SELECT結果が下記の要になるのが理想です。 DISTINCTを利用して SELECT DISTINCT id, name_1 || name_2 AS name FROM temp_tableとしましたがダメでした。 --------------------- | id | name     | --------------------- | 3 | ccccccdddddd | | 4 | aaaaaabbbbbb | | 5 | ccccccjjjjjj | --------------------- よい方法をご存じの方、宜しくお願いします。

  • perl シングルコーテーションを含んだ文字編集

    active perl(アクティブパール)で 以下の文字列編集を行いたいのですが、 シングルコーテーションの編集で上手く出来ずに困っています。 どなたか経験豊富な方、良いコーディング方法があれば ご教授下さい。 やりたい事としては、 文字列 aaaaaa bbbbbb cccccc dddddd といった内容を 取り込んで 'aaaaaa','bbbbbb','cccccc','dddddd' といった文字列の出力を行います。 上記の例では文字はddddddまでですが、 場合により bbbbbbまでたったりといった感じで 変換前の文字の行数は可変で、2行でも3行でも4行でも、 各行の文字をシングルコートで囲って、カンマでつなげた文字列を出力します。 上記の仕様内容で、こうすれば出来る! といったサンプルコードを教えていただけると助かります。

  • Smarty ループ回数を 可変にしたい

    お世話になります。 以下のような多次元配列があり、以下のようなリストを表示させたいのですが。 $data = array( [0] => array( [date] =>'2008-04-13' [title] => array( [0] =>'aaaaaa' [1] =>'bbbbbb' [2] =>'cccccc' ) [id] => array( [0] => 23 [1] => 24 [2] => 25 ) ) [1] => array([date] =>'2008-03-03' [title] => array( [0] =>'ddddd' [1] =>'eeeee' [id] => array( [0] => 21 [1] => 22 ) ) ) $smarty->assign('data', $data); こんなリストにしたい。 2008-04-13 23---aaaaaa 24---bbbbbb 25---cccccc 2008-03-03 21---dddddd 22---eeeeee テンプレート側で下記のコーディングを試みましたが、だめでした。 {foreach from=$data item=value01 } <dt>{$value01.date}</dt> {foreach from=$value01 item=value02 } <dd>{$value02.id}---{$value02.title}</dd> {/foreach} {/foreach} 結果 2008-04-13 2 2008-03-03 2 となりました。 ネストしたループをそれぞれの id または title の要素数だけループさせるにはどうしたらよいでしょうか。 どなたかご教授の程、よろしくお願いします。

    • ベストアンサー
    • PHP
  • EXCELであるデータだけ表示したい

    EXCELでオークションの落札管理をしています。 落札先の項目にがyahoo、楽天、ビッダーズなどがあるのですが 商品名 落札先 aaaaaa yahoo bbbbbb 楽天 cccccd yahoo dddddd ビッダーズ eeeeee 楽天 これをyahooだけ表示したい時はどうしたらいいでしょうか?

  • Accessのクエリとテーブル突合せについて

    いつもお世話になっています。 Access2007で下記のような2つのテーブルをクエリで比較した際、なぜかNULLの部分だけのぞんだ結果にならないという現象があり、理由がわからず困っています。 内容としては、「(1)明細データ」のすべてと、「(2)コード表」をあて、「(3)結果リスト」のような表示でコードを追記するようなものです。 下記の「__」は表記の便せん上分かりやすいようNULLを示しています。 「(1)明細データ」はクエリで2つのテーブルを突き合わせ「区」を付けたしたもので、「(2)コード表」はマスタ用のテーブルとして手作りしています。 「(2)コード表」を手作りする際にはNULLの部分はなにも入れずに空にしています。 (1)明細データ 商品名 区 AAAAAA XX BBBBBB YY BBBBBB YY CCCCCC XX CCCCCC YY CCCCCC __ (2)コード表 商品名 区 変換CD AAAAAA XX 000101 AAAAAA YY 000102 AAAAAA __ 000199 BBBBBB XX 000201 BBBBBB YY 000202 BBBBBB __ 000299 CCCCCC XX 000201 CCCCCC YY 000202 CCCCCC __ 000299 (3)結果リスト 商品名 区 変換コード AAAAAA XX 000101 BBBBBB XX 000201 BBBBBB YY 000202 CCCCCC XX 000301 CCCCCC YY 000302 CCCCCC __ 000399☆ ところが、クエリで実現しようとするとこの「(3)結果リスト」の☆のついている一番最後の結果が CCCCCC __ ______ となってしまい、変換コード部にコードを埋め込むことができません。 こういう現象は初めての為、どのように聞くべきかわからないのですが、もし何かご存知、ないし、ヒントになり得ることを知っておりましたらお教えください。 以上、よろしくお願いいたします。

  • シェル:複数ファイルの計算方法に困ってます

    ファイル毎に使用容量を管理するシェル作成中、下記の内容で困ってます。いいアイデアを教えていただけないでしょうか。 よろしくお願いします。 【 前日分 】old.txt                カウント 使用量 ファイル名                5 10 aaaaaa.txt         5 15 bbbbbb.txt 3 20 dddddd.txt  【 当日分 】 new.txt  カウント 使用量 ファイル名 1 50 aaaaaa.txt 1 65 bbbbbb.txt 1 15 cccccc.txt 【理想】new.tmp カウント 使用量 ファイル名 6 60 aaaaaa.txt 6 80 bbbbbb.txt 1 15 cccccc.txt 3 20 dddddd.txt new.txtと同じ名前がold.txtにあれば、カウント列・使用量列をそれぞれ加算しnew.tmpに出力。 new.txtにあってold.txtに無い場合はそのまま行をnew.tmpに出力 new.txtになくてold.txtにある場合もそのまま行をnew.tmpに出力 説明 カウント・・・毎日加算処理をしカウントを上げていく        (よってnew.txtのカウントは必ず "1") 使用量・・・ファイルの使用量 ファイル名・・・ファイル名 上記のようなことは出来るでしょうか? diff・grep・sedとか調べてみたんですが融合技が見当つかず・・・ よろしくお願いします。

専門家に質問してみよう