• 締切済み

エクセル 特定の文字だけ表示させたい

例えばパスワードのように数字とアルファベットの混在した文字列があるとすると、その中から数字だけ表示するようにするにはどうしたらよいのでしょうか?a1234567890a→1234567890

みんなの回答

回答No.5

imogasiさんの関数で >If Asc(Mid(a, i, 1)) > 47 And Asc(Mid(a, i, 1)) < 58 Then を If ISNUMBER(Mid(a, i, 1)) then でもいけるような気がします。余計なチャチャ入れてすいませんが。

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

ユーザー定義関数が簡単かとおもう。 半角数字の場合。 標準モジュールに Function aa(a) s = "" For i = 1 To Len(a) If Asc(Mid(a, i, 1)) > 47 And Asc(Mid(a, i, 1)) < 58 Then s = s & Mid(a, i, 1) End If Next i aa = s End Function をコピペ。 シートのセルB1に =aa(A1) と入れる。 例データ A列  B列 a1236df2 12362 qwe34678   34678 er45ty67   4567 ーーー >A1セルに入力規制あるいは表示形式をかけることは可能でしょうか? 入力規則は、入力したデータを修正するまではしないはず。 表示形式は数字だけの表示方法は無い。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆少し長いですが、こんな方法もありますよ =RIGHT(SUM(MID(0&A1,LARGE(IF(ISERR(-MID(A1,ROW($1:$50),1)),,ROW($1:$50)),ROW($1:$14))+1,1)*10^(ROW($1:$14)-1),10^14),MIN(14,COUNT(-MID(A1,ROW($1:$50),1)))) ★この式は、「配列数式です」式を入力後、Shift+Ctrlを押しながら、Enterを押してください ★式の両端に、{ } がつきます

noname#245936
noname#245936
回答No.2

No.1です。 やはりお仕事でしたか。 お疲れ様です(笑)。 USB、キーボードエミュレータ型バーコードリーダーでの Excel直接入力をしているのですね? なるほど。なるほど。 新規マスタ登録(CSVとか)の作成か、販売分析、はたまた出荷指示、 在庫補充と言ったところでしょうか? 貴方のやりたいことはExcel機能でも可能ですが、もっと簡単な 方法があります。 一つ目は、Excel入力をやめ、テキストエディタを使う方法です。 手順としては、 1.メモ帳などのテキストエディタを開く。 2.タグをこすりバーコードをため打ち込みする。 3.いったん保存しておく。 4.テキストエディタの「置換」で「a」を「」に置き換える。 5.Excelに貼りつける。 となります。 テキストエディタは高速ですので作業が速くなります。 2つ目は。 これも、同じですが。 1.Excelで「a」付きで読み込む。 2.Excelの「置換」で「a」を「」に置き換える。 これでもいいでしょう。 裏ワザとしては、バーコードリーダ自身の設定を変えて「a」無しで 出力するモードにする…というものもあります。 が、バーコードリーダをシステムにつなぐ際に設定を戻さないと システム屋に怒られます(笑) 以上でいかがでしょうか? 弊社のお客様でありましたら、他にもいろいろやり方があったり 致しますが…なんて。(笑)

qzb05725
質問者

お礼

またまたお早いご回答ありがとうございます。 きっとお仕事の方もこの様に機敏に処理させられる方なんでしょうね。 なるほど、置換がありましたか・・ 全てを入力後に行えば一発ですね。 夜遅くまでおつき合い下さいまして誠にありがとうございました。残念ながら私の一存で貴社様と契約を結べるような立場ではありません 笑

noname#245936
noname#245936
回答No.1

然るに。 ふと気付きましたが。 質問者様はお仕事されていますね(笑)。お疲れ様です。 NW7のバーコード、商品マスターか何かをSKUに置き変えようという。 同業界、IT業者側の者なので判りますよ。 さて。 これは簡単です。 ExcelでA1列に「a1234567890a」とある場合、書き方は幾つか ありますが。 単に「a」を「」に置き換えてくださいというものであれば、 B1のセルに「=SUBSTITUTE(A1,"a","")」と書くと置き換えられた 結果が出ますし。 固定長バーコードなどで前後一文字削ってくださいというので あれば、B1のセルに「=MID(A1,2,10)」と書くと置き換えられた 結果が出ます。 バーコードと思われる文字列のパターンにより使い分けたりします。 詳細はExcelのヘルプで「文字列関数」と探すといろいろ出てきます。

qzb05725
質問者

お礼

早速のご回答ありがとうございます。 加えてこちらの状況をもご察し下さるなんて・・トホホ 笑 まさにバーコードの入力業務中でございます。 さて上記の場合は、A1セルに入力された文字列をB1セルに置き換える方法ですが、加えてバーコードリーダで読み取ったA1セルに一発で数字だけを表示されるようA1セルに入力規制あるいは表示形式をかけることは可能でしょうか? よろしくお願いします