アプリ版:「スタンプのみでお礼する」機能のリリースについて

A1のセルに入力した数字が、以下の条件をすべて満たした場合にB1のセルに『1234』を代入したい。

条件1:A1のセルに10桁または11桁の数字が入った場合
   (A1に文字は入りません、数字で5~15桁のいずれかが入ります)

条件2:A1に入力された数字の5桁目と6桁目が『77』『88』『99』の場合

   例1:1234567890 = 代入されない ※10桁だが5桁目6桁目が『56』だから
   例2:1234887890 = 1234をB1に代入 

条件1 ,2 を満たさない場合 B1は空欄で良いです。

以上の処理をVBAで記述し実行したいのですが、可能でしょうか?

質問者からの補足コメント

  • VBAではなく関数(IF文)でもOKです。

      補足日時:2016/01/20 21:40

A 回答 (2件)

こんな風でも・・・


=IF(OR(ISNA(MATCH(ROUNDDOWN(LOG10(A1*10),1),{10,11},0)),ISNA(MATCH(MOD(ROUNDDOWN(A1/POWER(10,4),0),100),{77,88,99},0))),"",1234)

10桁か11桁→{10,11}
77か88か99に合致する→{77,88,99}
のところで調整
    • good
    • 0
この回答へのお礼

凄すぎて関数の内容はよく分かりませんが、思った通りに出来ました。
ありがとうございました。

お礼日時:2016/01/22 19:40

B1セルに以下の数式を代入


=IF(AND(OR(LEN(A1)=11,LEN(A1)=10),OR(IF(MID(A1,5,2)="77",1234,0),IF(MID(A1,5,2)="88",1234,0),IF(MID(A1,5,2)="99",1234,0)))=TRUE,1234,"")
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!