アプリ版:「スタンプのみでお礼する」機能のリリースについて

     A  B  C
佐藤 AA
佐藤    AA
佐藤       AA
鈴木 AA
鈴木       AA
鈴木    AA
これを次のようにまとめたいのです。

     A  B  C
佐藤 AA  AA  AA
鈴木 AA  AA  AA

何かよい方法はあるでしょうか?過去ログを参照しなさい。というログをみつけたのですがそのログを見つけ出すことができませんでした。よろしくお願いします。

A 回答 (4件)

下の画像のようなに、重複のないA列の名前データがG2セル以下に入力されているなら(この部分も関数で自動表示させることもできます)、G2セルに以下の式を入力し、Ctrl+Shift+Enterで確定し、右方向に3つ下方向にデータ数だけオートフィルしてください。



=INDEX(B:B,MAX(IF(($A$2:$A$100=$F2)*(B$2:B$100<>""),ROW($A$2:$A$100),"")))&""
「重複データを1行にまとめたい」の回答画像4
    • good
    • 0

シート1に元のデータがあるとして、A1セル氏名、B1セルにA,C1セルにB,D1セルにCなどと項目名があり、データは2行目からあるとします。


A列のデータは並べ替えが行われて同じ氏名は連続した行に表示されているものとします。
作業列としてE2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,INT(MAX(E$1:E1))+1,INT(E1)+IF(C2<>"",0.01,0)+IF(D2<>"",0.02,0)))
F2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(B2<>"",B2,"")&IF(C2<>"",C2,"")&IF(D2<>"",D2,"")
シート2にはお望みの表を作るとしてA1セルに氏名と入力して、A2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(COUNTIF(Sheet1!E:E,ROW(A1))=0,"",INDEX(Sheet1!A:A,MATCH(ROW(A1),Sheet1!E:E,0)))
B1セルからD1セルにはシート1と同じ項目名を入力します。
B2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(ISERROR(INDEX(Sheet1!$E:$F,MATCH(ROW(A1)+0.01*(COLUMN(A1)-1),Sheet1!$E:$E,0),2)),"",INDEX(Sheet1!$E:$F,MATCH(ROW(A1)+0.01*(COLUMN(A1)-1),Sheet1!$E:$E,0),2))
    • good
    • 0
この回答へのお礼

思い通りの結果が出ました!!
本当にありがとうございます!

ほかの方も、参考になり、ました!!!!!!

お礼日時:2010/01/08 13:51

Sheet1


  A   B   C   D
1 佐藤 SAB1
2 佐藤    SAC2
3 佐藤       SAD3
4 鈴木 SAB4
5 鈴木       SAD5
6 鈴木    SAC6

Sheet2
  A   B   C   D
1 佐藤 SAB1 SAC2 SAD3
2 鈴木 SAB4 SAC6 SAD5

Sheet2 において
1.Sheet1 のA列の無重複データをA列に入力
2.セル B1 に次の[条件付き書式]を設定
    数式が   → =ISERROR(B1)
    フォント色 → 白
3.セル B1 に次式を入力して、此れを右方および下方にドラッグ&ペースト
    =LOOKUP("黑",OFFSET(INDIRECT("Sheet1!"&ADDRESS(MATCH($A1,Sheet1!$A$1:$A$6,0),COLUMN(B1))),,,COUNTIF(Sheet1!$A$1:$A$6,$A1)))
    • good
    • 0

こんにちは!


外しているかもしれませんが・・・

今回の質問の場合は表内の文字列が全て統一されていますので、
上詰めで、「AA」と表示させる方法です。
そして、各行の入力は重複がないということが前提です。

↓の画像で説明させていただくと、
作業用の列を使わせてもらっています。

作業列E2セルに
=IF(COUNTIF($A$2:A2,A2)=1,ROW(A1),"")
としてオートフィルで下へずぃ~~~!っとコピーします。
G2セルに
=IF(COUNT($E$2:$E$100)<ROW(A1),"",INDEX($A$2:$A$100,SMALL($E$2:$E$100,ROW(A1))))

H2セルに
=IF($G2="","",IF(SUMPRODUCT(($A$2:$A$100=$G2)*(B$2:B$100<>"")),"AA",""))
として、H2セルの数式をJ2セルまでオートフィルでコピーします。
最後にG2~J2セルを範囲指定し、J2セルのフィルハンドルで
下へコピーすると画像のような感じになります。
とりあえず、100行目まで対応できる数式にしています。

尚、この場合他の文字が入力されていても「AA」と表示されてしまいますので、
参考にならなかったら読み流してくださいね。m(__)m
「重複データを1行にまとめたい」の回答画像1
    • good
    • 0
この回答へのお礼

わかりやすい書き方でありがとうございます。
AAはあくまで仮なのでここのセルにはABやCAなどが文字列が入ります。
ちなみに数字だとエクセルの統合でできるのですが、文字列だと
統合ができなかったので関数やマクロでできると助かります。

お礼日時:2010/01/07 13:16

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