
Excelの関数について教えてください。
○から始まる場合は□、●から始まる場合は■、の複数の条件の計算式が知りたいです。
A列 B列
1234
2456
1235
1523
2452
2525
2254
1358
B列に
1から始まるものはA
2から始まるものはB
が入るような計算式を作りたいです。
=IF(COUNTIF(A1,”1*”),”A”),IF(COUNTIF(A1,”2*”),”B”)
で作成していますがエラーになってしまいます。
よろしくお願いします。
A 回答 (13件中1~10件)
- 最新から表示
- 回答順に表示
No.13
- 回答日時:
No.12です。
Officeサポートでは、↓
https://support.microsoft.com/ja-jp/office/mid-% …
MID関数の第2引数(開始位置)、第3引数(文字数)は数値と書いてあるのですが、実際には「文字」でもOKのようです。
つまり、前回回答の数式
=MID("ABCDABCDA",VALUE(LEFT(A1,1)),1)
の中のVALUE関数は文字を数値にするためのものですが、文字のままでもよいということになり、
=MID("ABCDABCDA",LEFT(A1,1),1)
としても機能するようです。
また、A列の頭の数値が4種類しかない場合、前回回答で「無い場合、空白でOK」と書きましたが、これは、いままでの回答者さんの例(1~4のみの場合)を記したものです。
1~9のうち欠番の数字があるなら、その部分には、「半角スペース」または「全角スペース」を入れるのが好ましい対応だと思います。
ご参考まで。
No.12
- 回答日時:
考え方も含めて、解決方法について説明したいと思います。
まず、前提条件について確認したいと思います。前提条件は以下のとおりです。
(1)A列には9桁の数字が入力されている。
(2)A列の数字の書式は「文字列」なのか「数値」なのかは不明。
(3)A列の9桁の数字の頭の数字を判別し、B列にそれに対応する文字を表示したい。
(4)A列の9桁の数字の頭の数字の判別は4種類ある。
(5)(4)の4種類は1がA、2がBまでは決定しているがあとは不明
(6)A列の頭の数字が、例えば「1~4」のように4種類しかないのか、1~9まであり、それをルール付けして4種類に分けるのか不明。
というわけで、少なくとも不明となっている(2)(5)(6)の前提条件を決定しないといけません。
まず、(2)の問題は数値でも文字列でも対応可能な数式を考えます。
次に、「A列に9桁の数字がある」と言った場合、頭の数字は「1~9」の9種類あるとするのが常識的だと思いますので、(6)は「1~9」を4種類に分けることにします。
さらに、(5)の3以降の対応文字を決める必要があります。
例えば、別シートのA1~A9に1、2、3、・・・、8、9と数字を入れ、B1~B9にその数字に対応する文字A、B、・・・など4種類の文字を入れて対応表を作成します。(添付画像①)
仮にB1~B9が「A,B,C,D,A,B,C,D,A」になるとすれば、No.11さんが回答された数式を若干修正して、
B1には
=MID("ABCDABCDA",VALUE(LEFT(A1,1)),1)
または
=MID("ABCDABCDA",INT(VALUE(A1)/10^8),1)
という数式を記述すればよいことになります。(添付画像②)
ただし、これはあくまでも「例」なので、"ABCDABCDA"の部分は状況に応じて変更する必要があります。
もし、A列の頭の数字が「1~4」しかないのであれば、別シートの対応表はB5から下は空白でもOKです。
つまり、その場合はB1に
=MID("ABCD",VALUE(LEFT(A1,1)),1)
となるわけです。
No.11さんの使用されたFIXED関数はA列が数値だった場合でも「文字列」に変換されます。
しかし、他の回答者さんの使用例のように、そもそもLEFT関数は「数値」でも「文字列」でも有効に機能しますので、「文字化」のためにFIXED関数を使うのであれば、必ずしも必要ではないと思います。
余談ですが、別シートに対応表を作ったので、これを利用して、B1に
=VLOOKUP(VALUE(LEFT(A1,1)),別シート!$A$1:$B$9,2,0)
とするのもありかと思います。

No.11
- 回答日時:
A列入っているのが数値でも文字列でも:
=MID("ABCD",VALUE(LEFT(FIXED(A1,0,1),1)),1)
もしB列に表示したいコードが2文字以上の場合もありうるのなら、
=INDEX({"A","B","C","D"},VALUE(LEFT(FIXED(A1,0,1),1)),1)
の方が応用が利く。
No.10
- 回答日時:
桁数に関係なく始まるのが数値で、"1","2","3","4"のどれかなら、
以下のものでも対応できます。
=CHOOSE(LEFT(A1,1),"A","B","C","D")
No.7
- 回答日時:
間違えた。
=IF(INT(A1/100000000)=1,"A",IF(INT(A1/100000000)=2,"B"…
みたいな感じで。
LEFT関数使うなら戻り値は文字列になるので
LEFT(A1,1)="1"
と言う感じにしないとダメだと思いますよ。
No.6
- 回答日時:
こんにちは
ご提示の式は、括弧の対応関係がおかしいので意図した通りには働きません。
でも、直してたとしても結果は得られない可能性が高そうに思います。
想像するところA列の値は「数値」になっていませんか?
ご提示のCOUNTIFで識別できるのは、対象が文字列の場合なので、「
式を修正し、A列の値を文字列として入力し直す」ことをすればうまく動作すると考えられます。
とは言え、目的は最初の一桁目が1か2かを判定したいのでしょうから、素直に
=IF(LEFT(A1,1)="1","A",IF(LEFT(A1,1)="2","B",""))
とでもしておけば宜しいのではないのでしょうか。
No.4
- 回答日時:
LEFT(A1,1)=1
LEFT(A1,1)=2
で判定してみてください。
具体的には、
B1=IF(LEFT(A1,1)=1,"A",IF(LEFT(A1,1)=2,"B","X"))
貴殿の式は、途中で切れており、IF文をなしてはいません。
=IF(),IiF() …×
正しくは、以下の構文になります。
=IF( , ,IF())
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) If関数に関する質問です。(再掲) 3 2022/10/01 20:51
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) 複数のセルでの文字判定について 5 2022/06/07 14:08
- Excel(エクセル) エクセル関数についてお教えください 3 2023/07/24 12:33
- その他(Microsoft Office) SUMIFとCOUNTIFの違いについて 4 2022/09/29 14:13
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) 以下の条件に合う関数を教えてください。 1 2022/10/01 13:38
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
【マクロ】【配列】3つのシー...
-
エクセルのdatedif関数を使って...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】列を折りたたみ非表...
-
【マクロ】アクティブセルの時...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
【マクロ】3行に上から下に並...
-
vba テキストボックスとリフト...
-
【マクロ】A列にある、日付(本...
-
ページが変なふうに切れる
-
エクセルのVBAで集計をしたい
-
エクセル
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報
補足します。説明不足で申し訳ありません。
実際に作成したい数字は9桁です。
分岐は4つあります。