エクセル関数での複雑な文字列処理について



 ◇-?エクセル関数での複雑な文字列処理について-エクセる?-06/07-16:33(220)-No.452018
   ┗?~Re:エクセル関数での複雑な文字...-独覚-06/07-18:46(218)-No.452023
     ┗?~!Re:エクセル関数での複雑な文字...-エクセる?-06/07-19:36(217)-No.452026

▲このページのトップに戻る
452018エクセル関数での複雑な文字列処理についてエクセる? 2008/06/07-16:33

メーカー名:東芝
OS名:WindowsXp HomeEdition
パソコン名:Qosmio
ソフト関連:表計算Excel
--
エクセル関数を使った文字列の処理についてアドバイスください。

     A       B     C
1  チーム名   指数(1)   指数(2)
2  ホリーズ    1     4
3   バーズ     2     2
4  アニマルズ   1     3
5  キンクス    1     1
6  ラトルズ    2     1
7    カン      1     2


という表があったときに、関数を使って指数(1)ごとの該当チーム名を別表にして下に表したいのです。このとき、該当のチーム名を1セル内に(できればコンマでつないで)下表のように横並びにしたいのです。

10  指数(1)         チーム名
11   1    ホリーズ, アニマルズ, キンクス, カン
12   2         バーズ, ラトルズ


もうひとつ欲を言えば、下のようにチーム名を指標(3)の順番に並び替えられればベストです。

10  指数(1)         チーム名
11   1    キンクス, カン, アニマルズ, ホリーズ
12   2         ラトルズ, バーズ


私が試したのは下記のやり方で、

=IF(B2=1,A2&", ","")&IF(B3=1,A3&", ","")&IF(B4=1,A4&", ","")&IF(B5=1,A5&", ","")&......

という具合に演算子&を使ってある程度は対応できたのですが、指標(2)での並べ替えには全く対応できませんし、入力できる数式に文字数制限があり、この場合だと約40チーム分までしか処理できません。A列には最大で1008チームは入るようにしたいと考えており、きっと何かスマートな解決法があるのでは、とは思うのですが・・・なかなかそこに辿り着けないでいます。配列数式も試みましたが、文字列をどう扱っていいのかわからず・・・。

マクロ等は用いずなるべく関数で、しかも1シート内で収まればベストです。
アドバイスお待ちしてます。

▲このページのトップに戻る
452023Re:エクセル関数での複雑な文字列処理について独覚 2008/06/07-18:46

記事番号452018へのコメント
まずは下記ページの4をお読みください。

http://pasokoma.jp/hajimete

先方のHPではマルチポストは許容されていますがあらかじめどこどこにマルチポストしていると
明記した方がそれぞれで同じような回答がついたりとかでそれぞれの回答者に無駄をさせずに済みますよ。

マルチポスト先
http://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=[[20080607164301]]&mytime=180557

▲このページのトップに戻る
452026Re:エクセル関数での複雑な文字列処理についてエクセる? 2008/06/07-19:36

記事番号452023へのコメント
独覚さんは No.452023「Re:エクセル関数での複雑な文字列処理について」で書きました。

ご指摘ありがとうございます。不馴れなもので配慮が足りなかったようです。
マルチポスト先にも気を回してくださり助かります。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言