• ベストアンサー

エクセルの関数の質問です。

エクセルの関数の質問をさせていただきます。 例えばセル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倍にしてみたのですが、値を半分にすると精度が少し狂いますので、再度、良い方法があったら教えていただきたくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

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

sewneedles
質問者

補足

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

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

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

sewneedles
質問者

補足

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

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

> 2倍ではなく3は4に、5は6にという具合です。いちばん近い偶数の値を求めています。 もっとも近い偶数に切り上げるそのものズバリの関数がEVENです。 あとは1の時はそのままにする旨の式にします。 A列の数値が文字列なら↓で如何でしょう。  =IF(A1="1",1,EVEN(A1))

sewneedles
質問者

お礼

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

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

=IF(NOT(A1=1),IF(ISODD(A1),A1+1,A1),1) というのもありかもです。

sewneedles
質問者

お礼

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

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

偶数にするとは? 2倍にしちゃって良いって事でしょうか。 A1にそれらの数字があって B1: =(2-OR(A1="1",ISEVEN(A1)))*A1 #注意 >文字列の左側の値をMID関数を使って呼び出した値です。 MID関数のままだと「文字列の1や2や数字」が計算されます。 すると「IF(セル=1,…」のような計算では拾えないので,具体的にどんな数式を書いてどんな結果を並べてあるのか,キチンと実際のエクセル上の事実を情報提供してご相談を投稿するようにして下さい。

sewneedles
質問者

補足

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

回答No.1

○が1の時だけ1のままにして、そうじゃないなら△にする式 =if(○=1,1,△) ○が偶数ならそのままにして、奇数なら1を足して偶数にする式 =if(mod(○,2)=0,○,○+1) 両方を組み合わせて完成。 =if(○=1,1,if(mod(○,2)=0,○,○+1))

sewneedles
質問者

お礼

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

関連するQ&A