• ベストアンサー

【Excel】CONCATENATEの反対は?

・・・反対、というわけでもないんですけど(ぇ)。 つまり、1つのセルに入っているものを、記号で区切る、なんてことは可能でしょうか。 AAAA\BBBB\CCCCと入っているものを、「AAAA」と「BBBB」と「CCCC」に、それぞれセルを分ける、ということです。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.4

vbaでユーザー定義関数を作る。 たとえば、下記のようなもの。 Function bunri(donocell, banme) bunri = Split(donocell, "\")(banme - 1) End Function 分離するセルと、何番目のデータか指定すればそのデータが入る。 配列数式で、複数のデータも返せるようにもできると思うが。

Meuniere
質問者

お礼

これぞ!!!! 初めてユーザ関数に触れました(^^; ありがとうござんした!!!

その他の回答 (6)

  • michi_001
  • ベストアンサー率32% (21/65)
回答No.7

#3のものです。 >区切った項目が自動的に入る の意味がいまいちなんですが… AAAA \BBBB \CCCC あるいは AAAA\ BBBB\ CCCC のようにしたい、ということですか? 桁数が固定で決まっているなら出来ます。 先ほどの -------------------------------------------- AAAA\BBBB\CCCC と入っているセル(範囲)を選択後、 「データ」⇒「区切り位置」で、「カンマやタブなどの…」を「スペースによって右または左に…」にチェック⇒「次へ」⇒任意の場所にてマウスをクリックして区切る位置を指定⇒「次へ」でそれぞれの書式を設定して「完了」 -------------------------------------------- という手順になると思います。 それ以外で、桁数はデータによって違うんだよ、という場合はこの方法は使えません。

Meuniere
質問者

お礼

つまりは何か関数の入ったセルが用意されていて、指定セル(デフォルトではブランク)に任意の区切り記号で区切った文字列が入れば、その区切った結果が表示されるようにしたい、とこういうわけでした。 桁数は文字列によって変わりますが、なるほど、関数でなくとも、こういうやり方もありますね。 再度のご回答、ありがとうございました^^

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

>指定のセルにそれぞれ区切った項目が自動的に入る、なんてことはできないでしょうか。 「指定の」とはどんな風に指定するのですか。 セル1つおきとか、コンピュタプログラムで表現できるルール性があれば、VBAで出来ます。 エクセル関数では(ユーザー関数を含め)式を入れた(セルの値)1箇所しか、決定できません。エクセル関数のキホン常識。 関数でやろうというなら、エクセルのキホンを認識してない、思いつきの質問です。 操作なら「データ」「区切り位置」で自身セル+隣接セルにセットされます。 隣接セルならユーザー関数で、複数セルに、配列的に値を返せると思いますが普通のVBA解説書には書いてないレベルです。

Meuniere
質問者

お礼

なかなか言葉で説明するのが難しく(^^; 任意のセルに、区切ったひとつの値を返せれば良かったので、No.4のご回答にある関数、これはユーザ関数でしたがあまり馴染みがないので、既存の関数でそういったものがあれば、ということでした。 ご指摘ありがとうございました。

回答No.5

A1セルに対象のデータがあるものとして、 B1=LEFT(A1,FIND("\",A1,1)-1) C1=FIND("\",$A1,1) D1=MID($A1,C1+1,E1-C1-1) E1=FIND("\",$A1&"\",C1+1) その後、D1とE1をコピーして右へコピーすると一列おきにデータがでます。

Meuniere
質問者

お礼

こういうやり方もアリなんですね。 今回は任意のセルに区切った結果を返したかったのでちょっと違いましたが、参考になりました。機会があれば覚えておきます。ありがとうございました。

  • michi_001
  • ベストアンサー率32% (21/65)
回答No.3

「データ」⇒「区切り位置」で出来ると思います。 AAAA\BBBB\CCCC と入っているセル(範囲)を選択後、 「データ」⇒「区切り位置」で、「カンマやタブなどの…」にチェック⇒「次へ」⇒「区切り文字」を「その他」にチェックして、「\」を入力⇒「次へ」でそれぞれの書式を設定して「完了」で出来ませんか?

Meuniere
質問者

補足

確かにそれでできるんですが、ある位置に貼り付けたら、指定のセルにそれぞれ区切った項目が自動的に入る、なんてことはできないでしょうか。 言葉足らずがありましたね。申し訳ありません。

noname#85032
noname#85032
回答No.2

データ区切り(区切り位置)で区切り記号を¥にすれば出来るでしょう。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

関数じゃありませんが、「データ」「区切り位置」で分割できます

関連するQ&A

  • あるセルに色を付けた時、別のセルにも同じ色が付く

    表1と表2が有って、表1のセルに色をつけると、表2の同じ内容のセルにも同じ色が付くようにしたいのですが、 良い方法は無いでしょうか? 表1         表2 aaaa  |  bbbb cccc dddd bbbb  |  cccc aaaa gggg cccc  |  aaaa bbbb cccc ・ ・ 表1のbbbbに色つけると表2の複数のbbbbにも同じ色が付くようにしたいです。 セル1つずつに条件付書式を設定しても良いですし、関数で一括でもかまいません。 エクセル2000です。

  • SQLの書き方について教えてください。

    accessについて。 シートの中に列名name、列名friendnameがあります。 name,friendname aaaa,bbbb bbbb,cccc cccc,aaaa dddd,aaaa eeee,bbbb ffff,eeee ほしいデータは aaaa,bbbb,cccc bbbb,cccc,aaaa cccc,aaaa,bbbb dddd,aaaa,bbbb eeee,bbbb,cccc ffff,eeee,bbbb と友達の友達の名前がほしいのです。 SQLの書き方を教えてください。 よろしくお願いします。

  • "/"でセル内の文字を縦に分割するマクロについて

    マクロ作成の為に、ご協力下さい。 このようなデータが1つのセル内にあります。 aaaa/bbbb/cccc/dddd このセルに対して、"/"があったら下のセルに入力するようにしたいです。 aaaa bbbb cccc dddd どのようにしたら良いか見当がつきません。。。 よろしくお願いいたします。 ※区切り位置の機能を縦に使うようなイメージです。

  • Word 上で、「行区切り」記号を置き換えるには?

    Windows 98SE で、Word 2000 を使っています。 あるところからデータをコピーして、Word 上に貼りつけたところ、 AAAA↓ BBBB↓ CCCC↓ ------ のように、ずらっと並びました。 各行末の"↓"は、Shift+Enterキーを押した時の「行区切り」記号です。 これをコンパクトに印刷するために、この「行区切り」記号を置き換えて、たとえば AAAA◆BBBB◆CCCC◆ ----- のように編集したいと思っているのですが、どうもやり方が良く分からないでおります。 どなたかご存知でしたら、よろしくお願いいたします。

  • グループ単位で空白行を挿入するVB

    下記の様に番号順にまとまったデータがある場合に その番号が違う番号になった時に空白行を1行挿入したいのですが 良い方法があればご教授下さい。 お願い致します。 <<例>> (実行前)  番号 DATA1 DATA2 1  1  aaaa bbbb 2  1  aaaa cccc 3  2  bbbb bbbb 4  3  cccc bbbb (実行後) 1  1  aaaa bbbb 2  1  aaaa cccc 3  2  bbbb bbbb 4  3  cccc bbbb 以上です。

  • ACCESSのフォーム上に連番番号を表示したい

    お世話になります フォームは単票型でなく、表型です↓ 例 1 aaaa1 bbbb1 cccc1 2 aaaa2 bbbb2 cccc2 3 aaaa3 bbbb3 cccc3 aaaa1等、右側はテーブルからデータを表示しています この、左の1,2,3、は単なる、表示で関連付けるデータは ありません この単なる1,2,3、はどのようにだすのですか よろしくお願いします

  • [Excel]重複データの一方のセルが持つ値を一方の空白セルに反映させたい

    A列にある7000件ほどのデータの中から重複データのみを抽出し、 重複データの一方がB列に持つ値を、もう一方のデータのB列の空白セルに反映させたいのですが、方法はありますでしょうか? 「COUNTIF」を使って重複データの抽出はできますが、一方が持つデータをもう一方の空白に反映させることができません。 手作業では期限に間に合わない可能性がみえて焦っております。 恐縮ですがご教授いただけますでしょうか。 (例) [処理前] A列:B列:C列 1111:AAAA:aaaa 2222:BBBB:bbbb 3333:CCCC:cccc 1111:    :dddd 2222:    :eeee [処理後] A列:B列 1111:AAAA:aaaa 1111:AAAA:dddd 2222:BBBB:bbbb 2222:BBBB:eeee

  • 空白文字のカンマへの変換について

    早速質問なんですが、変数$mojiに"aaaa bbbb cccc"と入っているものを "aaaa,bbbb,cccc"としたいのですが下記のように $moji = mbereg_replace("[ ]*$",",",$moji); と、すると結果 "aaaa,,bbbb,,cccc"となってしまいます。 どなたかお分かりになられる方いらっしゃったら ご教授お願いいたします。 失礼します。

    • ベストアンサー
    • PHP
  • Excelにて指定する2つの合計を出したい

    うまくタイトル名をつけれなかったのですが… |名称1|名称2|数値| |AAAA|AABB|1000| |AAAA|BBBB|1000| |AAAA|BBBB|3000| |CCCC|AABB|2000| |CCCC|BBBB|3000| というデータがあったとき |名称1設定|名称2設定|数値合計| という別セルを作成し、名称1、名称2が一致した合計結果を出したい、と思っています。 ここで、名称1設定、名称2設定は複数であり、それらの結果それぞれに対して合計を出したいと考えています。 たとえば |名称1設定|名称2設定|数値合計| |AAAA|   |5000| |CCCC|   |5000| |AAAA|BBBB|4000| |   |BBBB|7000| という数値合計結果を出す、というような。 SUMIF関数で行うにも、指定する条件が2つ(名称1、名称2)とあるのでうまくいかず、DSUMするにもどうもうまくいかずで困っています。 ACCESSを使用するのがいいのかもしれませんが、EXCELでこのようなことができないでしょうか。 詳しい方いましたらよろしくお願いします。

  • 配列の値を一行あけて出力

    配列の値を一行あけて出力したいのですが、うまくいきません。 ご教授お願いいたします。 <shell> #!/bin/bash ARRAY=("aaaa" "bbbb" "cccc") IFS=$'¥n'$'¥n' echo "${ARRAY[*]}" <現在の出力> aaaa bbbb cccc <期待する出力> aaaa bbbb cccc

専門家に質問してみよう