• ベストアンサー

【エクセルの数式を教えて下さい】

m_and_dmpの回答

  • m_and_dmp
  • ベストアンサー率54% (974/1797)
回答No.2

theにならなくても、an になることはありそうなので、修正します。 B1=IF(Left(A1,1,2)="a ", MID(A1,3,1),IF(LEFT(A1,1,3)="an ", MID(A1,4,1),Left(A1,1))) この方法ですと、IFをもう一つネストすると the でもOKです。

lightgray
質問者

お礼

m_and_dmp様 ご回答を有難うございました。 修正バージョンも考えて下さって有難うございます。 確かに、apple と a banana と a cup of tea は例示に過ぎなくて、"a" "an" "the" には限らないのです。今後どういうフレーズ(というか、アルファベットの並び)が出てきても対応できるように、限定しない数式を作っておきたいのです。 シンプルなようでいて、考え始めたら、自分ではお手上げでした。 スペースの有る無し、どこに入るか、で区別するのって、難しいようですね…。

関連するQ&A

  • エクセル数式の質問です

    エクセルの質問です。 文字列「A」と「B」を検索して個数が知りたいのですが、文字列「A,B」というデータの優先されるのがAであった場合、A=1個。B=0個とカウントしたいのです。何か良い数式はありませんか?

  • Excelで数式中に他セルの値

    Excelで数式について、他のセルに書いてある数字を文字列として代入したいのですが、 どうすればよいでしょうか。 具体的には 1  A1に10と入っており 2-1 B2に=COUNTIF(OFFSET(A1:D10, 0, 1), "=【A1】") 2-2 SUMIF(~~~, "=【A1】", ~~~) のような形で、A1の値に応じてCOUNTIFとSUMIFの条件分岐をしたいのです。 よろしくお願いします。

  • Excel 数式 数え方について

    こんにちは!エクセルの数式について教えて下さい! 同じ範囲からAとBとCとDを数える、ということをやりたいのですが COUNTIFを4つ用意するより簡単なやり方は無いでしょうか?

  • エクセルで数式を教えてください。

    エクセルで数式を教えてください。 通帳で考えると分かりやすいです。 A列には入った金額、B列には出て行った金額、C列には差し引き残高です。 データは100行目まで使います。 C列に入れる数式を教えていただきたいです。 また、残高がマイナスのときは、赤文字になると嬉しいです。 いや、-でも嬉しいです。

  • エクセル:~か~が含まれている場合~と表示の数式

    はじめまして。 エクセル2003を使用しているのですが、 画像のように、B列の文字で判断をして含まれる文字に応じてA列に『0』か『1』という結果を返したいです。 具体的には、 B列に『銀行振込』か『かんたん』という文字がどちらかが入っていたら『0』、『商品代引き』という文字が入っていたら『1』という数字をA列に表示させたいのです。 ※B列にはこの3種類の文字しか入りません。 COUNTIFで数式を組み始めたのですが全然分からずこちらの質問掲示板を初めて利用させて頂きました。 過去の質問を確認いたしましたが検索の仕方が悪い為か中々同じ内容が見つからず困っております。 初めての質問で勝手が分からずご迷惑お掛けしてしまうかもしれませんがどなたかご教授よろしくお願いいたします。 仕事でCSVデータを規定のテンプレートに飛ばす為に必要ですのでよろしくお願いいたします。

  • セルに数式が入ってるかどうかを取得する関数は?

    C1には、=SUM(A1:B1) C2には、0 が入力されています。 実際、A1:B1の値は0なので、 C1もC2も0が表示されています。 D列で、ちゃんとC列にsum関数が入ってるか調べてたいのですが =COUNTIF(C1,"*sum*") をオートフィルしても、0が返ります。 C3に「sum」と言う文字列を入れて、=COUNTIF(C3,"*sum*")をしたら 1が返りました。 COUNTIF関数は文字列は認識しますが数式は認識しないようです。 このような場合、セルに数式が入ってるかを取得する方法はありますか?

  • エクセルの関数の数式がわかりません。

    A列 B列 1 10 2 20 3 30 a 4 40 エクセルの関数の数式がわかりません。 B1~B4のどこかにaの入力があった場合、aの入力がある行と同じ行のA列に入力されている数字を別のセルに表示させたいです。 例えば、上記のようにB3にaがあるので、A3の30を、別のセルに自動で30と出るようにしたいです。 B列には、ランダムにaを入力しますので、aが別の行にある場合もあります。 この場合の数式を教えてください。 よろしくお願い致します。

  • エクセル セルを3つに分割する数式

    お世話になります。 表題通り セルを3つに分割する数式についてアドバイスを頂けると助かります。 作業の円滑化のために、区切り位置は使用しないつもりです。 1つのセルに 「10 20 30 」(数字スペース数字スペース数字)のような 3つの数字が入っており、それを分割したいのですが、 次のような桁数がバラバラなものも、正しく分割できるA2,A3,A4の数式はありますでしょうか? 例:       1        2      3     4 A  5 10 200      5 10 200 B  100 0 100  100 0 100 C 30 30 30 30 30 30 A2の場合は、 =LEFT(A1,FIND(" ",A1)-1) でうまくいきましたが、 真ん中、右側がうまくいきません。 宜しくお願いいたします。

  • エクセル 追加質問

    【質問】 A1のセルに「日本一株式会社 マーケティングスタッフ 山田太郎」 と一行で書かれた時に、 日本一株式会社を判別してB1にはその住所、B2は電話番号、B3はFAX番号を 書かせたいのですがどうのようにしたらいいのでしょうか。 の質問に対して以下のような解答を頂きました。 【回答】 シート1のA1セルに入力されるデータはスペースでいくつかの文字列に分かれているとして、最初のスペースまでの文字列を対象として住所や電話番号FAX番号を表示させるとしたら、次のようにします。 データベースとしてシート2にはA列に日本一株式会社などの文字列が、B列には住所、C列には電話番号、D列にはFAX番号が入力されているとします。 そこでシート1のB1セルには次の式を入力してB3セルまでオートフィルドラッグします。 =IF(COUNTIF(Sheet2!A:A,LEFT(A$1,FIND(" ",A$1)-1))=0,"",INDEX(Sheet2!B:D,MATCH(LEFT(A$1,FIND(" ",A$1)-1),Sheet2!A:A,0),ROW(A1))) と頂きましたが、 Sheet1 B3 まで反映されるのですが、B4、B5・・・と以降反映させる為にはどこを書き換えればよろしいのでしょうか。 ちなみに B4は =IF(COUNTIF(Sheet2!A:A,LEFT(A$1,FIND(" ",A$1)-1))=0,"",INDEX(Sheet2!B:D,MATCH(LEFT(A$1,FIND(" ",A$1)-1),Sheet2!A:A,0),ROW(A4))) になっています。 変更箇所の指摘、回答よろしくどうぞ。

  • エクセルで、文字の完全一致ではなく、文字の一部が含まれているかをチェックする方法

    質問させてください。 エクセルのA列の文字の一部に、B列の文字が含まれているかどうか、 をチェックする数式を教えて頂けないでしょうか。 例えば、 A列:「赤 青」、「白 黄」、「緑 黒」 B列:「赤」「青」「黒」 この場合、A列の「赤 青」と「緑 黒」のセルの横に○、 というようにしたいのですが。。 VLOOKやCOUNTIFでは、“文字の一部”というのはチェックできないようで、 かつ、LEFTやRIGHTも使いづらい場合です。 きっと簡単な数式があるのでは、と思いお尋ねしました。 どうぞ宜しくお願い致します。