スポンサーリンク

050-VBA

EXCEL・エクセル・同じキーを持つ複数行のデータを1行にまとめる方法?

へっぽこヘタレシステム管理者の管理人です。

さて、管理にはエクセルの複雑な計算式や関数は、すごく苦手です。

計算式や関数を使うくらいなら・・・

VBAの条件分岐とループを駆使してやろうとしてしまいます。

しかし、たまには苦手な計算式と関数を使ってある作業をやってみましたので、忘備録として掲載しておきます。

やりたいことは次のとおりです。

整理番号と備考というカラムを用意して・・・

整理番号と備考に適当に文字列を入力します。

最終的には、同じ整理番号の備考を結合して一つの行にしたい・・・

というものです。

VBAを使う場合は、条件分岐トループ処理でなんとかやったことはあるのですが・・・

今回は、計算式と関数で頑張ります。

=IF(E1<>E2,B2,F1& CHAR(10) &B2)

まずは・・・

E列にA列をコピーしてから・・・

F列に上記の式を入れます。

ちなみに、A列は整理番号でソートしておきます。

こうすることで、F列に同じ整理番号の備考が結合されていきます。

次に、G列に【Len】関数を使って、F列の文字列を計算します。

=LEN(F2)

ここで、整理番号毎のG列の最大値の行を抽出したいのですが、一発でやるやり方が思い浮かびませんでした・・・

誰か教えてください。

結局やり方が分からなかったので、力業ですが・・・

H列に、【MAXIF】関数を使って、整理番号毎のG列の最大値を計算します。

=MAXIFS(G1:G10,E1:E10,E2)

MAXIF関数は・・・

MAXIF(最大値、条件範囲1,条件1)なので・・・

上の式では、G列から最大値を、E列の整理番号ごとに出すということになります。

最後に・・・

I列にフラグを立てます。

=G2=H2

これを文字列がある最後の行までコピーします。

最後にフラグから【TRUE】をフィルタすれば・・・

整理番号毎に、備考の文字列がすべて結合された行のみ抽出できます。

なのとかできましたが、手数が多くて面倒です。

もっとスマートなやり方があると思うのですが・・・

こんな方法しか思い浮かびませんでした。

ブログ開設に必要なドメイン取得、サーバーレンタル、ASPの登録等は、こちらのサイトから!

スポンサーリンク
スポンサーリンク

-050-VBA

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

苦手なEXCEL・VBAの配列・連想配列を試してみる!

へっぽこヘタレシステム管理者の管理人です。 さて・・・ 管理人は、素人レベル程度ですが、少しだけマクロを触れます。 しかし、ちょっと難しくなると手も足もでません。 その中でも【配列】や【連想配列】も超 …

使った事も触った事もないRPA【WinActor】!初見で特別定額給付金支給システムへの自動入力シナリオを無理やり作って動かした件!

さて、特別定額給付金の支給事務で5月のサビ残業が100時間を超過した管理人です。 土日も休みがありません。 遅れていた特別定額給付金の支給システムがようやく稼働したとおもいきや・・・ 特別定額給付金の …

EXCELやACCESSの関数やVBA・SQL文等の忘備録まとめ!

このページでは、管理人が良く使う次のソフト MS-EXCEL(エクセル) MS-ACCESS(アクセス) Oracle(オラクル)SQL について、良く使うけれどもすぐに忘れて、何度も調べ「関数やVB …

WORDのVBA【マクロ】に悪戦苦闘する!その2・ユーザーフォーム編!

へっぽこヘタレシステム管理者の管理人です。 先日に続き・・・ 本日もワードのマクロ(ユーザーフォーム)に悪戦苦闘しております。 ワードのユーザーフォームについての記事はこちら 今回やりたいことですが・ …

WORDのVBA【マクロ】に悪戦苦闘する!せっかくちょっと勉強したので忘備録として使いそうな記述を残しておく!

へっぽこへたれシステム管理人の管理者です。 ワードは、20年以上使っていますが、VBA【マクロ】を使うのは生まれて初めてでした・・・ エクセルのVBAとは、記述が異なるというか・・・ 別モノな感じです …

スポンサーリンク
スポンサーリンク
スポンサーリンク