• 締切済み

■Excel関数についてのご質問。

■Excel関数についてのご質問。 Excel初心者です。教えてください!!!関数を使って、数字を探す方法。 やりたいこととしては、例: セルA1に”acb456”とあって(すべて半角)、 セルA2に”acbdef”とあるとして、そのような配列から、 ”数字の入っているもの”を認識し、セルB2に”B3に入力されているデータ”をコピーさせる。 文字と数字を区別する方法は良くみるのですが、全部半角の場合の簡潔な関数を見つけることができません。。教えてください!!お願いします。。。 また、さらなる展開として、 1、数字がセルの中にあるか認識、さらに、文字にはHが含まれているかを確認し、   数字があり、Hが入っていない場合のみ、B3のデータをB2にコピーする。 をしたいのですが。。。 お願いします。

  • 英語
  • 回答数2
  • ありがとう数2

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 失礼ながら、御質問の文章の形式が不正確なため、Excelを使って、どのような事を行いたいのかが良く判りません。  もしかすると、セルA1とA2内にある、2つの文字列データのどちらか一方にでも、数字が含まれている場合には、その数字が幾つであるかには関わり無く、B3セルの値を、B2セルに表示させるたいと言う事なのでしょうか。  もし仮にそうだとすれば、やり方は幾つかありますが、一例を挙げますと、B2セルに =IF(ISERR(FIND("0",A1&A2))+ISERR(FIND("1",A1&A2))+ISERR(FIND("2",A1&A2))+ISERR(FIND("3",A1&A2))+ISERR(FIND("4",A1&A2))+ISERR(FIND("5",A1&A2))+ISERR(FIND("6",A1&A2))+ISERR(FIND("7",A1&A2))+ISERR(FIND("8",A1&A2))+ISERR(FIND("9",A1&A2))<10,B3,"") という数式を入力しておけば良いと思います。  もしくは、 =IF(ISNUMBER(FIND("0",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&A2,"1",0),"2",0),"3",0),"4",0),"5",0)&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&A2,"6",0),"7",0),"8",0),"9",0))),B3,"") でも良いと思います。 >数字があり、Hが入っていない場合のみ、B3のデータをB2にコピーする。 その場合には、 =IF(AND(ISERR(FIND("0",A1&A2))+ISERR(FIND("1",A1&A2))+ISERR(FIND("2",A1&A2))+ISERR(FIND("3",A1&A2))+ISERR(FIND("4",A1&A2))+ISERR(FIND("5",A1&A2))+ISERR(FIND("6",A1&A2))+ISERR(FIND("7",A1&A2))+ISERR(FIND("8",A1&A2))+ISERR(FIND("9",A1&A2))<10,ISERR(FIND("H",A1&A2))),B3,"") もしくは、 =IF(AND(ISNUMBER(FIND("0",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&A2,"1",0),"2",0),"3",0),"4",0),"5",0)&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&A2,"6",0),"7",0),"8",0),"9",0))),ISERR(FIND("H",A1&A2))),B3,"") で良いと思います。  尚、半角だけではなく、全角の数字や文字がある場合にも、B3のデータをB2にコピーするためには、数式の中の A1&A2 の部分を ASC(A1&A2) に置換すれば良いと思います。  又、大文字のHだけではなく、小文字のhがある場合にも、B3のデータをB2にコピーするためには、数式の中の FIND("H",A1&A2) の部分を SEARCH("H",A1&A2) に置換すれば良いと思います。

  • litsa1234
  • ベストアンサー率28% (230/795)
回答No.1

>セルA1に”acb456”とあって(すべて半角)、 セルA2に”acbdef”とあるとして、そのような配列から、 ”数字の入っているもの”を認識し、セルB2に”B3に入力されているデータ”をコピーさせる。 意味不明ですね。

関連するQ&A

  • EXCEL関数についてご質問です

    EXCELの関数の知識が無く、どなたか以下要件に対する対応方法があれば教えて頂ければ幸いです。 【概要】 ・シートA(インプット用)の各セルの入力値に対して、シートB(アウトプット用)に関数等を入れて変換出力をしたいと思っています。 (商品のマスタになるのですが、列の項目としては30項目くらいあり、例えばシートAの「商品名」列の全角文字をシートBに半角文字で出力する等の関数を作成しています。) 【やりたい事】 ・シートAの「商品名」列(I列)に「\n」という文字列が入っている行があった場合、シートBにはその行自体を出力しないという関数を組みたい 何か良い方法があればご教示いただければ助かります。どうぞよろしくお願いします。

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • Excel関数、VBAで可能か教えてください

    いつもこちらの識者の皆様にはお世話になっております。 Excelのことで質問させてください。 A1-A3セルに下記のようなデータがあります。 東京都千代田区千代田1丁目1-1日本マンション 101 東京都千代田区千代田1丁目1-2 東京都千代田区千代田1丁目2 これをそれぞれ、B列に号地までの住所、C列に物件名と部屋番号に分けたいのですが、関数もしくはVBAで可能でしょうか? 定義としては、 1.物件名と部屋番号の間には必ず半角スペースがある。  (半角スペースを含まないセルはそのままB列にデータをコピーでOK) 2.番地と号地は半角数字、物件名は全角。 一戸建てのデータはifで半角スペースを含まないものをそのまま持ってくればいいんですが、集合住宅の場合、どのようにしたらできるのか分からず行き詰っています。 vbaでsplを使うことも考えましたが、うまくいきそうにありません。 どなたか、上記内容の場合どのような関数、もしくは構文が適しているか教えていただけませんでしょうか。 よろしくお願いいたします。

  • Excel関数について・・・

    次のような場合、関数を用いて効率よく処理を行うにはどのような敷を用いればよいか、どなたかご教授お願いできませんでしょうか?よろしくお願い致します。 セルA1にある商品の単価が入っており セルB1にはその商品の販売台数が入力されています。 その状態がセルA1~B10まで続いていたとします。 その下セルA11とセルB11を結合したセルに 上記のセルA1~B10までの集計を求めたく思います。 この場合、セルA1とセルB2の値を掛けたものを セルC1に一度出してから、セルC1~C10の合計値を出す などと言った方法はとらずに、いきなり直接結合セルに 結果を出すにはどのような方法を用いればよいですか? 出来るだけ簡潔な方法をご教授いただけるとありがたく思います。 分かりにくい質問内容で大変申し訳ございませんが 何卒よろしくお願い申し上げます。

  • エクセル(excel)関数、教えてください

    エクセル(excel)関数なのですが、あまり詳しくないので教えてください。 セルA1、B1、C1 に数字があるのですがA1がB1より大きい数字の場合は セルD1 にA1の数字が出てきて、A1がB1より小さい数字の場合は セルD1 にC1の数字が出てくるように出来るでしょうか。 よろしくお願い致します。

  • EXCEL2010 関数 再質問

    セルA1に文字(記号、数字等を含む)を入力するとセルA2に「1(数字の1)」が表示され、セルA1に何も入力されてない場合はセルA2には何も表示されない方法をご教授お願い致します。

  • EXCEL関数

    フィルターで分類するために日付を揃えたのは良いんですけど同じ日の数字が出てくると見栄えが悪いので、消したいのですが、わかり辛いと思いますので例を書きます (| |はセルと思ってください) |5/25| A | |5/25| B | |5/25| C |   ↓ |5/25| A | | | B | | | C | っていう感じにしたいんです。 上に表示されている文字と同じ文字の場合書式の色を白に変えればフィルターが使えるんじゃないかなと思ったのですが出来るのでしょうか? 関数又は知らない機能があると思うので教えてください。

  • エクセル関数

    エクセルで 文字「あ」(セルA1)は数字の1(セルB1) 文字「い」(セルA2)は数字の2(セルB2) 文字「う」(セルA3)は数字の3(セルB3) といった具合に関数で変換したいのですが、 よい方法を教えてください。

  • Excel2010のCOUNTIF関数で誤動作

    A列に20桁の数字ばかりの「文字列」が入ったセルが1000行ほどあります。 A列の書式は文字列に設定してあります。 特定のセルの中身が重複してないことを確認しようと。 B1=COUNTIF(A:A,A1) のようにしたところ、うまく動きませんでした。 調査したところセル先頭から15文字までしか認識してくれません。 文字列扱いして欲しいのですが、数字ばかりなのが気に入らないようです。 数字だけのまま20桁認識させる方法は無いものでしょうか?

  • EXCEL2007の関数について

    EXCEL2007を使って集計を取ることになりました。 下記の表のD列に以下のような関数?を記入したいのですが分からないので教えてください。 B列に「お」の記入がある場合のみ(B2)、一つ右のセル(C2)の文字列を「お」のセルから右に2、上に1移動したセル(D1)にコピーしたいです。この場合で言うとD1のセルだけに「か」と記入されるようにしたいのです。   A  B  C  D 1 あ  い  う   2 え  お  か 3 き  く  け D1のセルの場合には =OFFSET(B2,,1) と入力するまでは分かったのですが、これにB2のセルの文字列が「お」の場合のみという条件が付けられません。 私のEXCELの知識は普段関数を使わないのでFOM出版の「よくわかるEXCEL2007」の基本編と応用編を2冊勉強し終えて課題に取り組んでいる程度です。 お手数ですが分かる方、ご教示願えませんでしょうか。