語学学習用に、エクセルを活用したいです。


「[1]的 [2]了 [3]我 [4]一 [5]在 [6]是 [7]他 [8]个 [9]你 [10]和 [11]不 [12]有 」
となっているデータを、
単純に






という風にエクセルにはりつけたいです。
手打ちすればいいんですが、なんせ2000語もありまして
なにかいい関数がないか頭を悩ませています。

区切り位置で指定することも考えましたが
単語と単語の間の[数字]がすべて変わるため、
どのような指定をすれば区切れるのかがわかりません。

どなたか教えていただけますでしょうか。
非常に困っています。。

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2011/06/13 14:10:14
  • 終了:2011/06/13 20:18:23

ベストアンサー

id:TransFreeBSD No.5

TransFreeBSD回答回数664ベストアンサー獲得回数2662011/06/13 19:01:32

通常版。位置を表す数値を別セルに入れて(編集のフィルを使うと便利)、それを参照する

的了我...
1=MID(A$2,A3,1)
2=MID(A$2,A4,1)
3=MID(A$2,A5,1)
4=MID(A$2,A6,1)
5=MID(A$2,A7,1)
6=MID(A$2,A8,1)
7=MID(A$2,A9,1)

別版。別セルが必要ないけど、コピーや移動するとずれたりする。

的了我...
=MID(A$2,ROW(A1),1)
=MID(A$2,ROW(A2),1)
=MID(A$2,ROW(A3),1)
=MID(A$2,ROW(A4),1)
=MID(A$2,ROW(A5),1)
=MID(A$2,ROW(A6),1)

[追記]

「A$2」とか「A2」とかいう参照は、「$」が付いてないとコピーで自動的に英字や数字が変わって参照位置がずれる。これを相対参照とかいう。「$」が付いてる場合「A$2」なら縦方向、「$A$2」なら縦横両方にコピーしても同じ場所を参照している。これを絶対参照とかいう。

id:erinyahime

ご回答ありがとうございます。

絶対参照機能は存じてたのですが、MID関数で$を使ったところ

エラーとなってしまいました。

何か間違っていたみたいです。

もう少し自分で勉強してみます!

ご丁寧にありがとうございます!

2011/06/13 20:16:50

その他の回答(5件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982011/06/13 14:19:12

単語と単語の間は [数字]のみですか?

エディタで [ や ]を タブに置換してから エクセルに貼り付けるか

エクセルに貼り付けた後 区切りを [などに して 区切るなどしたらいかがでしょうか?

id:erinyahime

追記です。

どうやら=MID(文字列,開始位置,文字数)を使えばいけそうなんですが

これを1個1個入力するのも大変だし

コピーしてしまうと、うまくいきません。

=MID(文字列,開始位置,文字数) の文字列だけをA2に固定して

開始位置のみを増やす(数字が大きくなる)ようにしたいです。

どのようにしたらいいのでしょうか?

MID関数 文字列固定 で検索しても見つからないようです。。。

2011/06/13 18:11:27
id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492011/06/13 14:20:17

>単語と単語の間の[数字]がすべて変わる

ワイルドカードというものを使います

 

【ステップ1】置換

検索する文字列 [*]

置換後の文字列 空白のまま

 

【ステップ2】区切り位置

カンマやスペースで区切ります

id:erinyahime

ありがとうございます!

カンマやスペースで区切るというのが、結局手作業になってしまうため

これを2000文字分やるのは結構きついです。。。

今、的

と縦にならぶところまできたのですが、

これが1つのセルに入ってしまっています。

1つのセルにはいった文章を1文字ずつ改行、改列する関数も

あるようなのですが

検索した結果では、よくわかりませんでした。。。

http://oshiete.goo.ne.jp/qa/1129291.html


追記です。

どうやら=MID(文字列,開始位置,文字数)を使えばいけそうなんですが

これを1個1個入力するのも大変だし

コピーしてしまうと、うまくいきません。

=MID(文字列,開始位置,文字数) の文字列だけをA2に固定して

開始位置のみを増やす(数字が大きくなる)ようにしたいです。

どのようにしたらいいのでしょうか?

MID関数 文字列固定 で検索しても見つからないようです。。。

2011/06/13 18:10:41
id:Baku7770 No.3

Baku7770回答回数2832ベストアンサー獲得回数1812011/06/13 15:30:31

[1]的 [2]了 [3]我 [4]一 [5]在 [6]是 [7]他 [8]个 [9]你 [10]和 [11]不 [12]有…

から、まず余計なものを除きましょう。

「[」があったり、空白があるならそれも除く必要がありますし、バージョンで動作が違っても困りますので、まず全角に揃えます。仮にA2セルにテキストを貼り付けて、B2に

=JIS(A2)

とすれば、全角に揃います。

 後は、SUBSTITUTE関数を使って、文字列中から空白や括弧などの記号が除けますのでそれを除いた文字列を作成します。後はLEFT関数とRIGHT関数を組み合わせて、

=LEFT(Bn,1)、B列には=RIGHT(Bn,LEN(Bn)-1)

とでも続けていけばできるでしょう。

 必ず、]の後の1文字だと言うのならFIND関数を使う方法もあります。 

id:erinyahime

レスありがとうございます!

「後はLEFT関数とRIGHT関数を組み合わせて、

=LEFT(Bn,1)、B列には=RIGHT(Bn,LEN(Bn)-1)

とでも続けていけばできるでしょう。」

以下が、どのように実行すればよいのか、わかりません。。

エクセルでは簡単な表しか作ったことがありません。

LEFT関数でぐぐれば出ますかね。

旅してきます。

現状は、


と縦にならぶところまできたのですが、

これが1つのセルに入ってしまっています。

1つのセルにはいった文章を1文字ずつ改行、改列する関数も

あるようなのですが

検索した結果では、よくわかりませんでした。。。

http://oshiete.goo.ne.jp/qa/1129291.html

追記です。

どうやら=MID(文字列,開始位置,文字数)を使えばいけそうなんですが

これを1個1個入力するのも大変だし

コピーしてしまうと、うまくいきません。

=MID(文字列,開始位置,文字数) の文字列だけをA2に固定して

開始位置のみを増やす(数字が大きくなる)ようにしたいです。

どのようにしたらいいのでしょうか?

MID関数 文字列固定 で検索しても見つからないようです。。。

2011/06/13 18:10:59
id:TransFreeBSD No.4

TransFreeBSD回答回数664ベストアンサー獲得回数2662011/06/13 15:47:27

takntさんを参考に

  1. A1セルに張り付け
  2. データ→区切り位置で区切り文字スペースで区切る
  3. 1列を選択・コピー、A2列で形式を指定して貼り付けで、行列を入れ替えるにチェックして貼り付け
  4. A列を選択して、データ→区切り位置で区切り文字その他で「]」を区切り文字に
  5. 1列とA列を削除
id:erinyahime

レスありがとうございます!

lazyなもんで、区切り位置を2000箇所いれるのが難儀です、、、

これを一発でできる機能はないでしょうか。。。

つまり、「つながった文章」を

「つ」 「な」 「が」「っ」「た」「文」「章」と1文字1セルにしたいのです。

よろしくお願いします。。。


追記です。

どうやら=MID(文字列,開始位置,文字数)を使えばいけそうなんですが

これを1個1個入力するのも大変だし

コピーしてしまうと、うまくいきません。

=MID(文字列,開始位置,文字数) の文字列だけをA2に固定して

開始位置のみを増やす(数字が大きくなる)ようにしたいです。

どのようにしたらいいのでしょうか?

MID関数 文字列固定 で検索しても見つからないようです。。。

2011/06/13 18:11:12
id:TransFreeBSD No.5

TransFreeBSD回答回数664ベストアンサー獲得回数2662011/06/13 19:01:32ここでベストアンサー

通常版。位置を表す数値を別セルに入れて(編集のフィルを使うと便利)、それを参照する

的了我...
1=MID(A$2,A3,1)
2=MID(A$2,A4,1)
3=MID(A$2,A5,1)
4=MID(A$2,A6,1)
5=MID(A$2,A7,1)
6=MID(A$2,A8,1)
7=MID(A$2,A9,1)

別版。別セルが必要ないけど、コピーや移動するとずれたりする。

的了我...
=MID(A$2,ROW(A1),1)
=MID(A$2,ROW(A2),1)
=MID(A$2,ROW(A3),1)
=MID(A$2,ROW(A4),1)
=MID(A$2,ROW(A5),1)
=MID(A$2,ROW(A6),1)

[追記]

「A$2」とか「A2」とかいう参照は、「$」が付いてないとコピーで自動的に英字や数字が変わって参照位置がずれる。これを相対参照とかいう。「$」が付いてる場合「A$2」なら縦方向、「$A$2」なら縦横両方にコピーしても同じ場所を参照している。これを絶対参照とかいう。

id:erinyahime

ご回答ありがとうございます。

絶対参照機能は存じてたのですが、MID関数で$を使ったところ

エラーとなってしまいました。

何か間違っていたみたいです。

もう少し自分で勉強してみます!

ご丁寧にありがとうございます!

2011/06/13 20:16:50
id:windofjuly No.6

うぃんど回答回数2625ベストアンサー獲得回数11492011/06/13 20:15:51

>カンマやスペースで区切るというのが、結局手作業

もしも置換の結果が下のようになってしまっているのでしたら、「空白」を「何も入力しない」と勘違いされたのではないかと思います

的了我一在是他个你和不有

置換後の文字列が「空白」であれば下記のようになるはずですから、データ→区切り位置で一発分割(数千文字入っているので実際には何度か行う必要があります)

的 了 我 一 在 是 他 个 你 和 不 有

 

帰宅後思いついたのですが、置換して縦に並べるならばWordでやったほうが早かったかもしれません

【1】置換

(一回目)

検索する文字列 [^#]   Excelの[*]に相当しますが^#は数字一文字を現します

置換後の文字列 ^p    改行コードです

(二回目)

検索する文字列 [^#^#]

置換後の文字列 ^p

(三回目)

検索する文字列 [^#^#^#]

置換後の文字列 ^p

(四回目)

検索する文字列 [^#^#^#^#]

置換後の文字列 ^p

id:erinyahime

ありがとうございます!

わーどでもできたんですか!知らなかった!

ぐぐればわかることですよね、、、勉強不足でした。

ありがとうございます。

もっと自分で調べてから質問します。

回答ありがとうございました!

2011/06/13 20:17:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません