同じような質問があったらごめんなさい。

エクセルでシート1にデータを入力してシート2に
データを整理したいのです。
シート1には重複した行があります、これを
シート2には重複した行を省いた表にしたいのですが
どうしたら出来るのですか?
出来ればマクロは使いたくない(使い方がわからないです)
のですが。

やりたい事
シート1
---------------
AAA|45
AAA|30
AAA|20
BBB|50
CCC|30
CCC|20

シート2
----------------
AAA|
BBB|
CCC|
----------------
AAAとCCCの重複している
行を省いてシート2に入力されるように
したいです。

宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは!



自動(数式)でとのことであれば

---Sheet1---------------
  A   B  C   D
1| 項目| 数|  |
2|AAA|45|式1|式2
3|AAA|30| ↓(データ行末まで複写)
4|AAA|20|
5|BBB|50|
6|CCC|30|
7|CCC|20|

式1 =IF(COUNTIF($A$2:A2,A2)=1,MAX($C$1:C1)+1,"")
式2 =IF(COUNT(C2),A2,"")
---Sheet2----------------
  A
1|項目 |
2|式3 |
3|↓(必要行まで複写)
4|   |

式3 =IF(COUNT(Sheet1!C:C)<ROWS($A$1:A1),"",VLOOKUP(ROWS($A$1:A1),Sheet1!$C$2:$D$100,2,0))
将来想定最大必要行まで複写

でどうでしょうか!
(補助列を使わない方法だと異様に長い配列数式になります)
    • good
    • 0
この回答へのお礼

こんにちは。
バッチリです。すっごく感激しました。
自分のやりたかった事にピッタシで
メチャクチャうれしいです。

本当にありがとうございました。

お礼日時:2001/09/03 13:47

 シート2に、AAAの合計値を反映させるのでしたら、


(例ですと、95ですね)
SUMIF関数で如何でしょう?
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。

合計を出すのは次の段階で
今は表を整理したいのです。
すみません説明不足で。

合計だけ出すのだと
シート2に合計は出ますがどの項目の
合計か、と言うような表が作れなくて
困ってます。

なんか、文書おかしくてすみません。

お礼日時:2001/09/03 11:29

こんにちは。



手動でよければ、オートフィルタを用いてできると思います。

1.シート1の重複した行がある列を選択してください
2.データ-フィルタ-オートフィルタ 
3.データ-フィルタ-フィルタオプション
4.(下のほう)□重複するデータは無視する にチェックを入れて「OK」
5.シート1を全て選択して、コピー
6.シート2に、貼り付け。

以上です。
でわでわ
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。
出来ればオートフィルタ等も使いたくないのですが。
データを入力するたびに(ファイルは変わるのですが)
オートフィルタを使わなくてはいけなくなってしまう為
出来れば関数でどうにかしたいです。
説明不足ですみませんでした、すみませんが関数での
やり方を教えて下さい。

お礼日時:2001/09/03 11:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qaaa.bbb.ccc という、「ドット」で区切られた文字列があった場

aaa.bbb.ccc という、「ドット」で区切られた文字列があった場合、この文字列からbbb.ccc だけを取り出す方法を知りたいと思っています。
別の言い方をしますと、右から2つ目のドットの前までを取り出す方法になります。
Excel 2007 でのやり方を教えてください。
どうぞよろしくお願いします。

Aベストアンサー

ドットが最小で1個、最大で3個までの文字でしたら次の式で求めることができます。

=IF((LEN(A1)-LEN(SUBSTITUTE(A1,".","")))=1,A1,IF((LEN(A1)-LEN(SUBSTITUTE(A1,".","")))=2,RIGHT(A1,LEN(A1)-FIND(".",A1)),IF((LEN(A1)-LEN(SUBSTITUTE(A1,".","")))=3,RIGHT(RIGHT(A1,LEN(A1)-FIND(".",A1)),LEN(RIGHT(A1,LEN(A1)-FIND(".",A1)))-FIND(".",RIGHT(A1,LEN(A1)-FIND(".",A1)))),"")))

Q「赤黒白」を→|○|○|-|○| などと分けたい

オフィス系ソフトの超初心者です。(wikiの編集に使っています)
使っているのはLibre Office(Open Office系)です。
表の編集作業中です。

以前もお世話になったのですが、再びお知恵をお借りしたいです。

現状、A列に品名、B列にはその色が記載してあります。
例えば、A1の品に赤色、黒色、白色の3種類がある場合、B1には「赤黒白」と記載されています。
これを、赤色があればC1に「○」、黒色があればD1に「○」といったように各列に分け、丸印の有無で見分けられるようにしたいのです。

関数の内、分類項目が「文字列」のものを一通り見たのですが、これといって良い方法を思いつきません。
何か良い方法はないでしょうか?

Aベストアンサー

IF関数、ISERROR関数、FIND関数の3つの関数を使います


IF関数は条件式の真偽を判断する関数
=IF(条件式,真の場合,偽の場合)

ISERROR関数は、その式がエラーとなるか調べる関数
=ISERROR(テスト対象)

FIND関数は、セルに特定の文字列が含まれている場合に、その位置を返す関数
=FIND(検索対象文字,対象セル)

質問でやりたいことは、条件式に特定の文字列が含まれている場合に、そのセルに○か×を返したいのですから、
=IF(ISERROR(FIND("検索したい色",B1))=FALSE,"○","×")
と入力すればOKです

QExcelで重複行を非表示にする方法(重複行の最後の行だけ表示させる方法)について教えてください。

エクセルで重複するデータを非表示にする方法は、[データ]→[フィルタ]→[フィルタオプションの設定]を選択し、[重複するレコードは無視する]にチェックを入れればできますが、デフォルトでは重複行の最初の行だけを表示し、残りの重複行を非表示にしてしまいます。
最初の重複行ではなく最後の重複行だけを残し、他の行を非表示にしたいのですが方法がわかりません。
ちなみに上記の[重複するレコードは無視する]にチェックするまでの流れをマクロに記録させ、マクロの編集をクリックすると下記のような記述になっていました。

Columns("A:A").Select
Range("A1:A100").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

このソースのどの部分を変更すれば、1番最後の重複行だけを残し他の行を非表示にすることが可能になるのか教えてください。
よろしくお願いします。

Aベストアンサー

フィルタの設定には無いようです

シンプルに

Sub test()
Dim i, ii As Integer
For i = Range("a65536").End(xlUp).Row To 2 Step -1
For ii = i - 1 To 1 Step -1
If Cells(i, 1).Value = Cells(ii, 1).Value Then
Rows(Cells(ii, 1).Row).EntireRow.Hidden = True
End If
Next ii
Next i
End Sub

A列の重複を対象にしています
最終行から比較していく方法です

Qエクセルシートにある重複したデータを省きたい

エクセルシートがあります。フィールドは以下の通り。
レコード数約2万件。

ファイル1
注文日 会員番号 商品名 購入価格


こまったことに全く同じデータが重複しているレコードがいくつか混在しています。
Accessの重複クエリーで重複データを確認したら
3000件ほどレコードが重複している。

重複しているレコードの重複しているものだけを削除する方法はないでしょうか。
(例:レコードが重複している場合先頭のレコードだけを残す)

ACCESSで重複があることはわかっているのですが、その重複分だけをエクセルシートから
除外する方法がしりたい。
(ACCESSにもインポート可能)


お手数をおかけします。妙案ありますでしょうか。





ファイル2

Aベストアンサー

お使いのExcelのバージョンが不明ですが2007以降でしたらデータタブの中に「重複の削除」というボタンがあります。
こちらはお使いになってみましたか?
質問の際にはバージョンの記載をお忘れなく。

Qエクセルで|1234567|を|123-4567|としたい

タイトルの通りなのですが、
セルの中に7桁の数字が入っていて、それを3桁のところで「-」 ハイフンを入れたいんです。

数式のようなものを入れたらそうなるのでしょうか?
エクセルをほとんど使わないので、わかりやすく教えていただけたらうれしいです。
よろしくお願いします。

Aベストアンサー

各回答者さんの内容で解決できるはずですが、ひょっとして、セルの属性が”文字”になっていませんか?

1 列全体を選択して、セル書式の「表示形式」で「標準」を設定します。
2 列が選択された状態で、もう一度、セル書式の「ユーザ定義」で「000-0000」を設定します。
 これでも表示できない場合は、目的のセルを一つずつ「編集」-「確定」します。(F2を押し、そのままエンターで確定します。)
また、先頭に「’」が入っていたら削除してください。


人気Q&Aランキング

おすすめ情報