エクセルの関数の質問をさせていただきます。

例えばセルA列に1,2,5,6,4,5,7,9,10,13というランダムな値があったら、1は1の儘で、それ以外の奇数を偶数にしてB列に呼び出すような関数がありましたら教えてください。
このA列の値は1-15-1、2-3-2、5-2-3、というような文字列の左側の値をMID関数を使って呼び出した値です。
よろしくお願いします。

前回の質問と同じプログラムなのですが、全体の値を半分にして求めた数を2倍にしてみたのですが、値を半分にすると精度が少し狂いますので、再度、良い方法があったら教えていただきたくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

>3は4に、5は6に



A1にそれらの「数字の文字」があるとすると
B1:
=IF(A1="","",IF(A1="1",1,A1+ISODD(A1)))
などのように。

この回答への補足

前回は有難うございました。
今回もご丁寧にご回答いただきましたこと重ねてお礼申し上げます。
初心者なので、相談の説明なども独りよがりになってしまいます。
申し訳ありません。
1点、お伺いしたいのですが、いろいろ検索していてVBAの"Round"関数で(JIS丸め)というのが、
あるようなのですが、私のこの場合にも使えるのでしょうか。
奇数を偶数にした場合、合計の差が比較的少ない丸めかたと説明でありましたが、説明を読んでも私には難しくて使い方が理解できませんでした。お教え頂ければ幸いです。

どうぞよろしくお願いします。有難うございました。

補足日時:2011/04/28 19:23
    • good
    • 0

結果が奇数で在れば、結果に+1するだけではないのですか。


奇数かどうかを判別するISODD関数もアル。
=IF(ISODD(結果),結果+1,結果)
結果のところに前回質問でわかった式を入れたら仕舞い。
>前回の質問と同じ
前回の質問番号を参考までに挙げておくとかが良いのでは。
>プログラムなのですが
私ならプログラムと書かれるとVBAの質問かと思ってしまう。
関数の質問らしい。
質問を連発する前に、エクセルの関数の約50関数ぐらいの解説書(例題が必ず付いている)を読むこと。

この回答への補足

ご指摘を頂きましたこと、私自身も少し関数の勉強をしてからすべきだったと反省しております。
学生時代に数学が苦手でしたのに、エクセルを少し使ってみたいと思っているのですが、関数の説明を読んでも、私がエクセルでこうしたいと思っていることがどのように使えるのかさえもわかりません。
もちろん、時間をかけてゆっくりとじっくりと初歩的なものから学ぶことが大切だとは思いますが、
こういう相談のサイトがあると、つい甘えてしまいます。
すべてが初心者なので、相談の説明すらも至りません事を本当に恥ずかしいと思っております。これからもよろしくご指導を頂きますようお願いいたします。

補足日時:2011/04/28 19:49
    • good
    • 0

> 2倍ではなく3は4に、5は6にという具合です。

いちばん近い偶数の値を求めています。

もっとも近い偶数に切り上げるそのものズバリの関数がEVENです。
あとは1の時はそのままにする旨の式にします。

A列の数値が文字列なら↓で如何でしょう。
 =IF(A1="1",1,EVEN(A1))
    • good
    • 0
この回答へのお礼

有難うございました。初歩的な関数さえも使い方がわかりませんでした。
これからもよろしくご指導を頂きますようお願いいたします。

お礼日時:2011/04/28 19:52

=IF(NOT(A1=1),IF(ISODD(A1),A1+1,A1),1)



というのもありかもです。
    • good
    • 0
この回答へのお礼

有難うございました。思ったように出来ました。
これからもよろしくご指導を頂きますようお願いいたします。

お礼日時:2011/04/28 19:56

偶数にするとは?


2倍にしちゃって良いって事でしょうか。

A1にそれらの数字があって
B1:
=(2-OR(A1="1",ISEVEN(A1)))*A1


#注意
>文字列の左側の値をMID関数を使って呼び出した値です。

MID関数のままだと「文字列の1や2や数字」が計算されます。
すると「IF(セル=1,…」のような計算では拾えないので,具体的にどんな数式を書いてどんな結果を並べてあるのか,キチンと実際のエクセル上の事実を情報提供してご相談を投稿するようにして下さい。

この回答への補足

質問のしかたが悪くて申し訳ありません。
2倍ではなく3は4に、5は6にという具合です。いちばん近い偶数の値を求めています。
お言葉通りにきちんと説明できるように整理して、再びご相談させていただきますので、その際にはよろしくお願いします。

補足日時:2011/04/28 16:34
    • good
    • 0

○が1の時だけ1のままにして、そうじゃないなら△にする式



=if(○=1,1,△)

○が偶数ならそのままにして、奇数なら1を足して偶数にする式

=if(mod(○,2)=0,○,○+1)

両方を組み合わせて完成。

=if(○=1,1,if(mod(○,2)=0,○,○+1))
    • good
    • 0
この回答へのお礼

有難うございました。これからゆっくりと試してみます。
これからもよろしくご指導を頂きますようお願いいたします。

お礼日時:2011/04/28 19:57

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング