- ベストアンサー
EXELで困っています。どなたか助けてください!
お世話になります。早速ですが・・・ 下記のような表があります。 ┌──────┬─-─┬─-─┬─-─┬─-─┬─-─┬─-─┬─-─┐ │分類項目・・・・│AAA │BBB │CCC │DDD │EEE │FFF │GGG │ ├──────┼─-─┴─-─┴─-─┴─-─┴─-─┴─-─┴─-─┤ │「、」区切り・・・│AAA、BBB、CCC、DDD、EEE、FFF、GGG │ ├──────┼──────────────────────-─┤ │「 」区切り・・・│AAA BBB CCC DDD EEE FFF GGG │ ├──────┼──────────────────────-─┤ │「,」区切り・・・・│AAA,BBB,CCC,DDD,EEE,FFF,GGG │ └──────┴──────────────────────-─┘ ■不特定の分類項目(何が記入されるかわかりません)のAAなどの 項目を上図、および、下記のように自動的に変換というか、並べ られるようにしたいと思っています。 (1)「、」区切り(全角句点区切り) (2)「 」区切り(全角スペース区切り) (3)「,」半角句点区切り ■【質問1】VBAマクロを使わず関数などの処理にてできない ものでしょうか? また、 【質問2】(1)上図で「、」で区切ったもの (2)同様に「 」で区切ったもの (3)同様に「,」 で区切ったもの 例えとして⇒○「AAA、BBB 」 ⇒×「AAA、BBB、、、、、、、」 このようにしたいのですが? 【質問3】いずれの場合も、その新しくできた文字列を他の ソフトウェアにコピペしようとすると、関数の数式が コピペされてしまします。 もちろんセルをワンクリックで選択すると、値だけが コピペできます。 この点を初心者でも失敗(数式のコピペではなく)する ことなく、値だけをコピペすることが可能でしょうか? どうかよろしくお願いいたします。 <( _ _ )>
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の意味がよくわかっていませんがA1セルからG1セルに入力されている文字列について「、」「 」「, 」などの区切りをつけてそれぞれを一つのセルに表示したいのでしたら次のようにします。 A2セルには次の式を入力します。 =IF(A$1="","",A$1)&IF(B$1="","","、"&B$1)&IF(C$1="","","、"&C$1)&IF(D$1="","","、"&D$1)&IF(E$1="","","、"&E$1)&IF(F$1="","","、"&F$1)&IF(G$1="","","、"&G$1) A3セルには次の式を入力します。 =IF(A$1="","",A$1)&IF(B$1="",""," "&B$1)&IF(C$1="",""," "&C$1)&IF(D$1="",""," "&D$1)&IF(E$1="",""," "&E$1)&IF(F$1="",""," "&F$1)&IF(G$1="",""," "&G$1) A4セルには次の式を入力します。 =IF(A$1="","",A$1)&IF(B$1="","",","&B$1)&IF(C$1="","",","&C$1)&IF(D$1="","",","&D$1)&IF(E$1="","",","&E$1)&IF(F$1="","",","&F$1)&IF(G$1="","",","&G$1) これらの式ではA1セルからG1セルの間で文字が入っているセルの文字だけが並べられて表示されます。
その他の回答 (4)
- maron--5
- ベストアンサー率36% (321/877)
◆「、」で区切ったもの A2=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1)," ","、") ◆「 」で区切ったもの A3=TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1) ◆「,」 で区切ったもの A4=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1)," ",",")
お礼
maron--5様、ご回答いただきありがとうございます。 こんな方法もあるんですね。 「SUBSTITUTE」も「TRIM」も初めて知りました(汗 どんな関数を使うかで、ここまで数式をシンプルに できるんですね。 なんか感動してしまいました。 今、これを見ている段階では理解できていませんが、 関数の使い方を広げられるチャンスをいただいて ありがとうございました。 せっかくなので、この機会に習得できるように 勉強します! 今回は学校関係で使用するのですが 会社でこういう関数を書けたら カッコいいでしょうね! 脱雑用係はまだまだ遠いようです(汗 それから画像まで貼っていただいたことに感謝します! ありがとうございました ( ^_^)/
- seiiiichi
- ベストアンサー率41% (79/190)
ひとつのセルのなかにスペースやカンマ等で羅列された長い文字列があって、それを各セルに振り分けたいということでしょうか? そうであれば、【質問1】~【質問3】全て可能です。 (現在、手元に英語版しかないので、若干違うかもしれませんが、) 1.セルを選択(区切り文字が同じなら複数行まとめてでも可) 2.メニューから「データ」→「区切り位置」 3.「カンマやスペース等の区切り文字で区切る」 4.区切り文字を「その他」で、「、」や「,」を入力 5.実行 たぶん2007でも2003でもそれ以前でもこんな感じです。
補足
seiiiichi様 早速のご回答ありがとうございます。 私の説明がわかりにくい説明で申し訳ありません。 > ひとつのセルのなかにスペースやカンマ等で羅列された長い文字列が > あって、それを各セルに振り分けたいということでしょうか? ↓ 調査結果が1語から7語まであることを前提としまして 7つ以内のセルの中にあるものを(1つ~7つの場合があります) 一つのセルの中にに、「英数の半角カンマ」「スペース」や「全角カンマ」 の3種類でで羅列された長い文字列をつくりたいという意味です。 7つ以内のセルに、入力が終わったら、3種類の結果が自動的に できあがっているようにしたいのです。 seiiiichi様のご回答に感謝します。
- bin-chan
- ベストアンサー率33% (1403/4213)
質問3について ペーストする際に、右クリックして「形式を選択して貼り付け」を選び 「値」を選べばOK。 質問1、2について なさりたいことがよくわかりません。 「分類項目・・・・」がセルA1として、セルB1~セルH1までに 値[AAA]~値[GGG]があって、 セルB2にセルB1~セルH1を「、」区切り・・・で表示したい。 と解釈して良いのでしょうか? その場合、セルB1に入力あり、セルC1に入力なし、セルD1に入力ありなら どうなるのでしょうか? 値が無いセルは、無視して良いでしょうか? セルB2に式[=B1&if(C1="","","、"&C1)&if(D1="","","、"&D1)以下同様でH1まで]、 セルB3に式[=B1&if(C1="",""," "&C1)&if(D1="",""," "&D1)以下同様でH1まで]、 セルB4に式[=B1&if(C1="","",","&C1)&if(D1="","",","&D1)以下同様でH1まで]、 ではいかが?
補足
bin-chan様 早速のご回答ありがとうございます。 質問1は関数で済ますことができないかという条件提示でした(汗 質問2は人によってセルに入力する内容が違うという想定の下に 出た結果を、これまた使用する人の為に(←わかりにくいですね(汗) (1)スペース区切り (2)全角の「、」区切り (3)半角の「,」区切り の3種類を自動的につくりたいのです。 > その場合、セルB1に入力あり、セルC1に入力なし、セルD1に > 入力ありならどうなるのでしょうか? > 値が無いセルは、無視して良いでしょうか? セルB1からセルH1までは、左から埋めていくことを基本として います。 解答の結果によっては、2つしかない場合や3つしかない場合も 想定したいです。 某○のある調査結果 AAA、BB、CCCC AAA BB CCCC AAA,BB,CCCC 某□の調査結果 AA、BBB、CC、DDDD AA BBB CC DDDD AA,BBB,CC,DDDD 上記のように仕上げたいのです。 不都合なものとして AAA、BB、、、、、 AA BB AA,BB,,,,, こういうようにセルに入力されていない場合は 「、」や「 」、「,」は不要です。 これで伝わりますでしょうか? bin-chanさんの回答に感謝します。
- bari_saku
- ベストアンサー率17% (1827/10268)
もしWordがあるなら、 ・エクセルの必要な範囲を選択し、コピー ・ワードの新規文書を開き、「形式を選択して貼り付け」でテキストを選択 ここで各セルの内容が値として貼り付けられ、セルの区切りにはタブ記号が入っていると思います。 最後にワードの「置換」機能で、タブ記号をご指定の「、」等に置き換えればOK。 OFFICEのバージョンがわからないので、アバウトなアドバイスしかできませんが、これで何とかなりませんか。
補足
bari_saku様 早速のご回答ありがとうございます。 そういう手もあるんですね。 大変参考になります。 なるほど、エクセルを所有していれば、ワードもありますよね。 今回は、エクセル単体で何とかしたいと思っています。 私のエクセルは2002なんですが、複数人でアンケートのような 結果をまとめようという意図があって2000以上で作動すれば 問題ないと思うんですが。 bari_saku様の回答に感謝いたします。
お礼
KURUMITO様、ご回答いただきありがとうございます。 IF関数でできてしまうんですね。 私はネスティング地獄に陥っていました。 > これらの式ではA1セルからG1セルの間で文字が入っているセルの > 文字だけが並べられて表示されます。 これです。 この式で見事にうまくいきました ( ^_^)/ ありがとうございます! また、さらに応用範囲が広がったことにも感謝します!!