dポイントプレゼントキャンペーン実施中!

エクセル関数について質問です。
カンマ区切りのデータをシートA1取込んだ際(例 AI904742-001,02021C05,3464138,ヤマト,ラベル伝票)
この取込んだの一部(カンマの2番目の02021C05 )をA2にエクセル関数で抜取る方法を教えていただけたら幸いです。他にも3番目をA3にとかもしたいのですが、、、、、
宜しくお願い致します。

A 回答 (4件)

質問では関数となっていますが、No.1の回答者へのお礼だとマクロで


処理するようになっていますよね?
どちらを希望しているのでしょうか?
マクロだったら、Split関数で処理できます。(この関数のことだった?)
http://officetanaka.net/excel/vba/tips/tips62.htm

Excelの一般機能としての関数ならFind関数で区切り文字を指定し、
その位置から抽出することになります。
B1セルに
=MID(A1,FIND(",",A1)+1,FIND(",",A1,FIND(",",A1)+1)-FIND(",",A1)-1)
を入れることで2番目を抽出します。
https://nyanto.jimdofree.com/%EF%BD%B4%EF%BD%B8% …
あとは応用できますよね。
    • good
    • 0
この回答へのお礼

こんばんは。返信が遅くなってしまい申し訳ありませんでした。*出張で、、、スマホで確認はしていたのですが、、、。

ありがとうございました。VBAで御教授して下さった方もいらっしゃったですが、
今回求めていたのは関数が先だったので、深謝申し上げます。
また何かありましたら御教授願います。

お礼日時:2020/02/17 23:36

こんばんは!



横からお邪魔します。
関数で出来ないコトはないとは思いますが、結構面倒な数式になってしまうとおもいます。
そこで、enunokokoroさんがおっしゃっているようにVBAの方が簡単にできそうです。
一例です。

A1セルのデータをB列1行目から表示します。

Sub Sample1()
 Dim k As Long
 Dim myAry
  Range("B:B").ClearContents
   myAry = Split(Range("A1"), ",")
    For k = 0 To UBound(myAry)
     Cells(k + 1, "B") = myAry(k)
    Next k
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい申し訳ありませんでした。このVBAは完璧です。
ただ関数の回答が先に求めていた解答でしたので、、、、、

この解答は完璧です!!ありがとうございました!!!!

お礼日時:2020/02/17 23:40

そもそも最初から,区切りをそれぞれの列に分けて取り込めばすむ話と思うけどね

    • good
    • 0
この回答へのお礼

そうなんですが、QRを読込んだ必要な情報だけをシート書式に表示させることをしたいのですが、、、、
因みにQRの読取りは何回も発生し、読取った情報は蓄積されることを望みます。
あまりマクロも詳しくないので、御教授いただけたら願います。

お礼日時:2020/02/16 14:26

関数ではなく方法です。


A1にカーソルを置く→データータブの区切り位置をクリック→ウィザードが立ち上がるから「カンマやタブ~~」をクリックして次へ→ここでカンマだけにチェックを入れて次へ→完了。
これでA1、B1、C1~~のセルに入ります。
これをコピーして、新しいシートで貼り付けの「行と列を入れ替え」で貼り付け。
    • good
    • 0
この回答へのお礼

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

マクロボタンを作成してエクセルシートに表示していきたいので、

A1に表示された AI904742-001,02021C05,3464138,ヤマト,ラベル伝票 をマクロボタンで
B1セル以降に B1セルにAI904742-001 B2セルに020211C05 B3セルにヤマト B4セルにラベル伝票 
と、蓄積させて表示させたいのですが、、、、、

出来れば関数での入力方法(マクロ・VB)も御教授お願いします。

お礼日時:2020/02/16 13:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!