OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

エクセル2000で、A列の3桁のデーターで1桁の値が

  • 困ってます
  • 質問No.107881
  • 閲覧数68
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 45% (20/44)

エクセル2000で、A列の3桁のデータがあり、一の位が、1又は2の場合、B列に一の位が1ならば"A"、B列に一の位が2ならば"B"としたいのですが、IF関数RIGHT関数を組み合わせてみましたがうまくいきません。この暑さで頭が冷や汗かいてます。よきアドバイスお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 33% (27/81)

RIGHT関数は文字列を対象としますから、A列のデータが数値の場合には意図した通りにはいかないと思います。

で、対処法ですが、
=INT(数値-10*INT(数値/10))
で数値の1の位を取り出して、IF文の条件に用いるのが宜しいかと。

実際には、
=IF(INT(A1-10*INT(A1/10))=1,"A",IF(INT(A1-10*INT(A1/10))=2,"B",""))
をB1セルに入力すれば、
 A1の1の位が1:A
 A1の1の位が2:B
 それ以外:空白文字列
となるハズです。
(少なくともExcel97ではOKでした)
お礼コメント
BA-BA

お礼率 45% (20/44)

ばっちりです。金種別の両替表を以前作成したときにINTを使った覚えがあったのですが,こういう場合に使うんですね。ありがとうございます
投稿日時 - 2001-07-24 06:12:38
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル12

ベストアンサー率 52% (322/612)

こんにちは! 様々な方法がありますが数例 1.BA-BAさんが思いついた方法  =IF(RIGHT(A1,1)="1","A",IF(RIGHT(A1,1)="2","B","")) 一位の数値を文字として取り出したので文字として("1")判断する必要があります。 ...続きを読む
こんにちは!

様々な方法がありますが数例

1.BA-BAさんが思いついた方法
 =IF(RIGHT(A1,1)="1","A",IF(RIGHT(A1,1)="2","B",""))
一位の数値を文字として取り出したので文字として("1")判断する必要があります。

2.数値としての判断
 =IF(COUNT(A1),IF(MOD(A1,10)=1,"A",IF(MOD(A1,10)=2,"B","")),"")

3.一位の位0~9までの表示をそれぞれ表示させる
 したの場合、0は空白 あとはA~I
 =IF(COUNT(A7),CHOOSE(MOD(A7,10)+1,"","A","B","C","D","E","F","F","H","I"),"")

こんなかんじでしょうか!
お礼コメント
BA-BA

お礼率 45% (20/44)

そうなんです。RIGHT関数を使うと文字にに変えなければいけないので困ってました。
ありがとう
投稿日時 - 2001-07-24 06:09:45

  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

こんな方法もあります(参考に)。3桁の数値で1の位が1か2のみなら、   =CHAR(64+MOD(A1,10)) でもでます。ASCIIコードを計算しています。 数値ということで1の位が1~9,0を全て別文字に置き換えるなら、Ifはネストが7つまでなので使用できませんね。 comvさんのCHOOSEがわかり易いですね。 上の式を1~9,0まで対応にして(無理やり!)   0はスペース( ...続きを読む
こんな方法もあります(参考に)。3桁の数値で1の位が1か2のみなら、
  =CHAR(64+MOD(A1,10)) でもでます。ASCIIコードを計算しています。

数値ということで1の位が1~9,0を全て別文字に置き換えるなら、Ifはネストが7つまでなので使用できませんね。
comvさんのCHOOSEがわかり易いですね。

上の式を1~9,0まで対応にして(無理やり!)
  0はスペース(ASCIIコード=32)にすると =CHAR(64+MOD(A1,10)-(MOD(A1,10)=0)*32)
  0はJにするなら、=CHAR(65+MOD(A1-1,10))
・・・やはりCHOOSEがいいですね。

蛇足ですが、セルに入力した数字は数値と文字の両方の性質を持っています。
A1に12、B1に34を入力して、C1に=A1+B1 とすれば、C1=46。
C2に=A1&B1とすればC2=1234 と表示されます。
たとえば、8桁数値、20010722(C3に入力)が年月日だとすれば、
年=LEFT(C3,4)または=MID(C3,1,4)、月=MID(C3,5,2)、日=MID(C3,7,2)または=RIGHT(C3,2)
当然この年、月、日は文字としても数値としても使えます。
お礼コメント
BA-BA

お礼率 45% (20/44)

とっても詳しいので助かります
投稿日時 - 2001-07-24 06:06:54
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ