- 締切済み
エクセルの関数について
質問です。 仕事でエクセルを使っております。 データの作成をエクセルでおこなっていますが。 この場合どのような関数を使えば良いのでしょうか。 エクセル初級者です。 宜しくお願いします。 一つのセルに『123456789』と入っています。 これを『12345』と『6789』に分解して二つにしたいのです。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
以下のような正規表現アドインがあります。 http://wiki.fdiary.net/toshiaki/?%C0%B5%B5%AC%C9%BD%B8%BDExcel%A5%A2%A5%C9%A5%A4%A5%F3 正規表現を使うと、かなり柔軟な検索が可能になり、色が「赤」と「ブルー」などと 文字数が異なっても対応出来ます。 コード(左から5桁として): =LEFT(A2,5) 価格: =VALUE(MID(A2,6,SEARCH("カラー",A2,6)-6)) カラー: =RegExpReplace(A2,".+カラー(.+)サイズ.+","$1") サイズ: =RegExpReplace(A2,".+サイズ(.+)素材.+","$1") サイズが数字のみで、数値として出したいなら =VALUE(RegExpReplace(A2,".+サイズ(.+)素材.+","$1")) 素材: =RegExpReplace(A2,".+素材(.+)","$1") 正規表現は難解かもしれませんが、身につけると非常に便利です。
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ ◆品番が必ず5桁の場合 ★品番:=LEFT(A1,5) ★価格:=REPLACE(LEFT(A1,FIND("カラー",A1)-1),1,5,) ★カラー:=REPLACE(LEFT(A1,FIND("サイズ",A1)-1),1,SUMPRODUCT(LEN(B1:C1)),) ★サイズ:=REPLACE(LEFT(A1,FIND("素材",A1)-1),1,SUMPRODUCT(LEN(B1:D1)),) ★素材:=REPLACE(A1,1,FIND("素材",A1)-1,)
- nobu-
- ベストアンサー率33% (31/93)
ANO4の者ですが、「123456789カラー赤サイズ90素材綿」を5分割したいという件ですが、品番と価格の区切りが問題を含んでいそうです。 これが完璧な固定長(左から5文字までがコードで、6文字から9文字までが価格、13文字目が色、17文字と18文字がサイズという具合に)であれば、可能だと思いますがその場合価格は9999円が最高ということになりますね? 本来は逆(セル内容の分解でなく連結)がいいとは思います。 しかし、現にそのようなコード化されたものが存在する場合少し難しいです。 任意金額のデータであれば、考えられる可能性としては、左から5文字までが固定コードで、その次の数字が任意桁の価格情報、後は「カラー」、「素材」、「サイズ」が区切り記号として考えるのであれば、「カ」が左から何文字目かを関数出だし、そこ+4つめから色情報を切り取るという方法で可能ではないでしょうか。 ただ、もしかして見当はずれなことかもしれませんが、この「123456789カラー赤サイズ90素材綿」がインポートされた結果のデータであれば、インポートするときにCSV形式等で行えばいいのではないでしょうか
- nobu-
- ベストアンサー率33% (31/93)
基本的に数値なのか、文字なのかによって違うと思いますが、一応文字列の分割ですと以下のようにすればいいのではないかと思います。 セルA1に「123456789」と入力されていて B1に「12345」、C1に「6789」と単純に出したい場合は、B1に「=MID(A1,1,5)」、C1に「=MID(A1,6,4)」と入れれば出ると思います。 1番目の引数(関数の括弧の中の1番目)には、対象セルA1、2番目の引数には、どこから(つまりA1の中身の1つめから)、3番目の引数には何個まで(A1に1番左から5個めまで)切り取るかを入力します。 ほかにもいろいろな方法がありますが、もし、「姓名」が入力されていて(姓と名の間には全角スペース)、それを「姓」と「名」にしたい場合には、違う関数を組み合わせたほうがいいと思います。(全体で何文字か、又、スペースが何個目にあるかを関数で出し、その情報で文字列を分ける)
- skyresort
- ベストアンサー率63% (21/33)
分解したいのは5桁と4桁のみでしょうか? のみでしたら、 12345:=left(〇〇,5) 6789:=right(〇〇,4) で良いです。 〇〇は、123456789と入力してあるセルを参照。
- zap35
- ベストアンサー率44% (1383/3079)
>分解して二つにしたいのです。 どのようなルールに従って分解されたいのか書かれていませんが、 数値の123456789を「12345(1万単位)」と「6789(1万未満)」に分けたいなら =INT(A1/10000) =MOD(A1,10000) でそれぞれ求める方法もあります。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法で如何でしょうか。 ■例えば、A1セルに9桁固定で入力されているとして、B1に=LEFT($A1,5)、C2に=RIGHT($A1,4)で如何でしょうか。 ■A列をA列5桁とB列4桁でセル分割する場合、 (1)A列選択、データ→区切り位置 (2)「スペースによって・・・」を選択→次へ (3)データ表示の5と6の間でクリック→完了
補足
メールありがとうございます。 数字だけの場合はこれで出来そうです^^。 数字と文字の混合で一つのセルになってる場合があります。 (例)123456789カラー赤サイズ90素材綿 といったものです。 これを『12345』・・・品番 『6789』・・・価格 『カラー赤』・・・カラー 『サイズ90』・・・サイズ 『素材綿』・・・素材 と5分割したい場合があります。この場合は同じようにすれば良いのでしょうか?
補足
メールありがとうございます。 数字だけの場合はこれで出来そうです^^。 数字と文字の混合で一つのセルになってる場合があります。 (例)123456789カラー赤サイズ90素材綿 といったものです。 これを『12345』・・・品番 『6789』・・・価格 『カラー赤』・・・カラー 『サイズ90』・・・サイズ 『素材綿』・・・素材 と5分割したい場合 があります。この場合は同じようにすれば良いのでしょうか?