ここから本文です

SUMIF関数について質問です。

kii********さん

2012/11/1816:28:15

SUMIF関数について質問です。

○事務所 いちご
○事務所 りんご
△事務所 さくらんぼ
■事務所 みかん
■事務所 パイナップル

上のやつは例えなのですが、今は同じ事務所が二つの行になっています。
それを一つにして事務所がほしいいちごとりんごっていうのもひとつのセルで表示したいです。

○事務所 いちごりんご
△事務所 さくらんぼ
■事務所 みかんパイナップル

ていう具合に集計したいのですが、うまくいきません。

SUMIF関数でやればうまくいくのかなって思ったのですが、
SUMIF関数は数字しか足せないみたいでうまくいきません。。。。

明日までに集計しなくちゃいけないのですが、どなたかうまく集計できる方法を教えてください!
よろしくお願いします。

補足回答ありがとうございます。
補足なのですが、データ量が1000以上あるのでなるべく機械的にできるような方法がいいです。
よろしくお願いします。

閲覧数:
316
回答数:
3
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

nis********さん

編集あり2012/11/1819:38:02

【補足拝見】
同じ事務所がいくつあろうと、データー量が何個あろうと必要範囲の縦、横へオートフィルすればOKのはずですが。。。

◆Sheet1のA列をSheet2のA列へコピー
Sheet2のA列を選択して、ツールバーの[データ]タブ → [重複の削除]をクリックしてみてください(Excel2007以降のバージョン)
----------------------------------------------------------
Sheet2の
B1=IF(COUNTIF(Sheet1!$A$1:$A$5,$A1)<COLUMN(A1),"",INDEX(Sheet1!$B$1:$B$5,MATCH($A1,Sheet1!$A$1:$A$5,0)+COLUMN(A1)-1))
B1をD1まで横へオートフィル(コピー)して、B1:D1を下方へオートフィル(コピー)

COLUMN関数は列番号を返しますので、最下図の式と同じことになります。
COLUMN(A1) → 1、COLUMN(Z1) → 26

【補足拝見】...

質問した人からのコメント

2012/11/18 22:05:32

抱きしめる もう一度やってみたところ、うまくやることができました!
3名の方ほんとうんにありがとうございました!
一番やりやすかったnishiki_gon

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

air********さん

編集あり2012/11/1820:20:06

文字列操作関数に複数のセルの文字列を結合するCONCATENATEという関数があります。ただこの関数は、複数のセル内に入力された文字を機械的に繋げていくだけなので、多少労力が要ります。

A1に「○事務所いちご」,A2に「○事務所りんご」,A3に「△事務所さくらんぼ」,A4に「■事務所みかん」,A5に「■事務所パイナップル」と記載されているとします。
「○事務所いちご」→「○事務所いちごりんご」としたいのであれば、

①どこでもいいのですが、例えばG1に「りんご」と入力し、

「=CONCATENATE(A1,$G$1)とするか、

②「=CONCATENATE(A1,A2)」として「○事務所いちご○事務所りんご」としてから
不要な「○事務所」の部分をDeleteで削除してください。

①を応用した方が、データが大量にある場合はトータルの時間は短いかもしれませんが、A1とG1を結合させるとA2がそのままで、消去する量が増えるためにどちらがいいかは一概に言えません。

~補足読みました~

いいこと思いつきました。「置換」で一掃してやりましょう。

①「ホーム」タブの「編集」の「検索と選択」で「置換」を選択します。

※以下(②~⑤)は「検索する文字列」→「置換後の文字列」とします。

②「○事務所いちご」→「○事務所 いちごりんご」

③「○事務所 りんご」→「」(→空欄)

④「■事務所 みかん」→「■事務所 みかんパイナップル」

⑤「■事務所 パイナップル」→「」(→空欄)

で、②~⑤それぞれで「すべて置換」を選択すれば終了でした。
試しに実際に入力してみたので間違いありません。

※置換後の文字列を入力しないと「空白に置換」となるので、実質「削除」です。

※注:スペースが半角か全角かということと、記号の「〇」の種類に気を付けなければいけません。「〇」は漢数字と丸印の2種類ありますね。

msk********さん

2012/11/1817:45:00

マクロ例ですが如何でしょうか。
データをSheet1、A,B列(見出し行なし)、Sheet2に並び替えます。
Sheet1のシートタブ上で右クリック→コードの表示→sampleコード貼り付け→シート上でAlt+F8キー押下、sample実行

Sub sample()
Dim i As Long, db, wk
Set db = CreateObject("Scripting.Dictionary")
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
wk = Cells(i, 1)
db(wk) = db(wk) & Cells(i, 2)
Next
wk = db.keys
With Sheets("sheet2")
.Cells.ClearContents
For i = LBound(wk) To UBound(wk)
.Cells(i + 1, "A") = wk(i)
.Cells(i + 1, "B") = db(wk(i))
Next
End With
Set db = Nothing
End Sub

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる