• ベストアンサー

2つのセルに数量をわけたいのですが。

エクセル2007を使ってます。 数値を偶数なら2つのセルにわけ、奇数ならそのままといった形で 数値を分けて表示させたいのです。 常に数字は移り変わりまして個数も増えたり減ったりします。 図のような感じになれば奇数偶数の判定はなんとかわかったのですが、 2つのセルにわけるところがよく分からず困ってます。

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

  • ベストアンサー
  • Randomize
  • ベストアンサー率70% (38/54)
回答No.3

ちょっと厄介な課題ですが、作業列を1個使えば関数で解決できます。 hidesan_31さんには申し訳ないですが、勝手にC列の内容を作業列用に変更させていただきます。 -----------------以下 作業内容---------------- C列は2種類の関数を入力しなければいけません。 C2に「=IF($B$2="","",1)」と入力してください。 C3から下には「=IF(OR(COUNTIF(OFFSET($C$2,0,0,ROW()-2,1),C2)>1,MOD(OFFSET($B$2,C2-1,0,1,1),2)=1),C2+1,C2)」と入力してください。 D・E列はそれぞれ1つの関数だけで大丈夫です。 D2から下には「=IF(OFFSET($A$2,C2-1,0,1,1)="","",OFFSET($A$2,C2-1,0,1,1))」と入力してください。 E2から下には「=IF(D2="","",IF(MOD(OFFSET($A$2,C2-1,1,1,1),2)=1,OFFSET($A$2,C2-1,1,1,1),OFFSET($A$2,C2-1,1,1,1)/2))」と入力してください。 -------------------ここまで------------------- 非常に分かりづらい数式ですが、この数式で途中で値が変化しても動的に対応できるはずです。4行目以降はC3・D3・E3のセルをコピーしてあげてください。

hidesan_31
質問者

お礼

御礼を言うのが遅くなりすいませんでした。 こちらの関数で思い通りのことができましたありがとうございます。

その他の回答 (2)

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.2

やりたいことがいまいちよく解りません。 この写真で言って、右側の個数の所を変えるのでしょうか? たえとえば、1行目は10個だから右の個数は5で、4行目は3個なので、右の個数を3としたいのでしょうか? 例えば11だったら11で12だったら6にするのでしょうか? でしたら、E2のセルに=if(C2="奇数",B2,B2/2)とするとできると思いますけど。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

関数よりもVBAの方が簡単そうです。 以下の手順をおためしください。 1.AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。 2.Visual Basic Editor の上部のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。 '********これより下********** Sub test01() i = 2 For Each c In Range("B2", Range("B" & Rows.Count).End(xlUp)) If c.Value Mod 2 = 0 Then c.Offset(0, 1).Value = "偶数" Cells(i, "D").Value = c.Offset(0, -1).Value Cells(i, "D").Offset(1).Value = c.Offset(0, -1).Value Cells(i, "E").Value = c.Value / 2 Cells(i, "E").Offset(1).Value = c.Value / 2 i = i + 2 Else c.Offset(0, 1).Value = "奇数" Cells(i, "D").Value = c.Offset(0, -1).Value Cells(i, "E").Value = c.Value i = i + 1 End If Next c End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります. 4.Alt+F8キーで出てきたマクロ名(test01)を選択して実行します。

hidesan_31
質問者

お礼

VBAのほうがスマートにできるようですね ありがとうございます^^ 参考にさせていただきます。

関連するQ&A

  • エクセルで偶数か奇数かを調べるにはどうすればいいですか?

    エクセルで関数の入ったセルの答えが偶数か奇数かでセルの色を変えたいのですが、 そんなことはできるのでしょうか? 数値の入ったセルはMOD関数などで偶数or奇数の判断が出来るので、条件付書式で偶数セルと奇数セルの色分けが出来たのですが、 数式の入ったセルの答え(表示されている数値)が偶数か奇数かを判断することができず困っています。 もしかして不可能なことなのでしょうか? どなたかご指導下さい。よろしくおねがいします!

  • エクセルで、偶数の数を自動で見つけるには?

    エクセルで、偶数の数を自動で見つけ、表示させる ことは、出来ますか? 次のような状態で、各セルに数字があります。 2 5 7 18 1 6 8 10 6 8 9 16 これを、横方向に見て、偶数だけの数字の個数だけを、 一番 右のセルに追加して個数を自動で表示させたいです。 このようなことは、出来るでしょうか?? 出来たとして、 その結果の表示は、次のようになれば、OKです。 2 5 7 18 2 1 6 8 10 3 6 8 9 16 3 一番上の段でみると、・・ 2、5、7、18、 この中で偶数は、 2と18、の二つだけですから、偶数の個数は、2個として、 一番、右のセルに新しく数字が、2と表示されます。 簡単にエクセルで、出来るでしょうか?? よろしくお願いします。

  • エクセル:偶数セルと奇数セルそれぞれの合計

    エクセルで作成した表で 「A2+A4+A6」 や 「B3+B5+B7」のようにそれぞれ偶数セル、奇数セルの数値の合計を表示させたいのですが、よい計算方法はありますか?それとも何十個というセルを地道に足していくしかないのでしょうか? 少ないセル数ならいいのですが、多くのセルの合計を出したいので困っています。どなたか分かりやすく教えていただけないでしょうか?お願いします。

  • 0000-9999

    0000~9999中に 偶数2つ奇数2つでできている 数字をエクセルですべて表示させたいのですが やり方知っている方教えてください。 二つも質問申し訳ないんですが、 出した偶数2つ奇数2つの中に 0~4が2つ5~9が2つで出来ている 数字をすべて表示させる方法をできたらで 教えてください

  • エクセルでのセル飛ばしのコピー

    B2セルに入っている計算式をコピーして、B2,B4,B6,B8,B10・・・へコピーしたいのですが B3,B5,B7,B9,B11・・・には異なる参照式が入っています。ですので、そのまま簡単にコピー できません。 奇数セルには他シートから@SUMPRODUCを利用して抽出した数値。 偶数セルには奇数セルの数値を参照し、掛け算を行う数式です。 複数のシートを作らなくてはならなくなってしまい、困っております。 いい方法がありましたら、ご教授願います。 よろしくお願いいたします。

  • 0から始まるセルの表記

    Excel2003です。 あるシステムからエクセルにデータを落としたのですが、 01、02、03など0から始まる数字のセルの左上に緑の印が付いて 「このセルにある数値が、テキスト形式かアポストロフィーで始まってます」と出ます。 この緑の印を表示させないで、セルには01、02、のように数字をそのまま表記させることはできますか? よろしくお願いします。

  • セルの個数をカウントかつ指定した箇所に数値を表示

    エクセル初心者です。 エクセル2010を使用しています。 エクセルで指定された数値÷背景色が塗られたセルもしくは、記号(〇や-や*なんでも)が入ったセルの個数を背景色が塗られたセルもしくは、記号(〇や-や*なんでも)が入ったセルと同じ列に表示したいと思っています。 添付の図で言う黄色い箇所の数値を出すにはどうすればいいのでしょうか。 赤いセルに背景色もしくは、記号を入れた時に、 例えば、Aなら赤背景が1つなので、4÷1で4と下の表で表示させたいです。 背景色の色のカウントなどは調べて分かったのですが、それを応用したいと思うと、検索の仕方が分からず。 説明がうまくなく伝わらない箇所があるかもしれませんが、どうぞ宜しくお願いいたします。

  • エクセルのセル内に文字と計算結果の表示

    エクセルの1つのセル内に文字と計算結果の両方を表示させる方法を教えて下さい。 例えば、セルのA1に数値10を入れて、B1に数値5を入れてあったとします。 で、セルのC1にA1とB1の合計を「合計 15」みたいな形で、文字と計算結果の両方をC1のセル内に表示させたいのですが。 ただ合計の数字のみを表示させるなら、=SUM(A1+B1)で良いわけですが、この数値の前に”合計”という文字を入れたいのです。 宜しくお願いします。

  • 使用する数式によって結果表示セル値の扱いが異なりますか

    2007使用です。 仮に、A-J列までそれぞれ計算式が入ったセルがあり、一桁の数字が表示されています。 各行ごとのMAXとMINを取りだそうとするといずれも0が返ってきて数値でないからダメなのだろうと思い、当然COUNTIFで0から9までのそれぞれの個数は出ないと思っていました。が、キチンとカウントされます。 なぜだろう、という疑問が解決できません。 例えば、あるセルに「19」という数値が入っていて、19-10=9と下一桁を抜き出した場合の9は同じ「9」としての判定にはならないハズと思っているのですが・・。 RIGHTで切り出したものは、前記例の場合、「9」という文字なのか数値のままなのか判断がつきません。文字だとするとMAXがエラーとならずに、どの行も「0」となるのも疑問です。 考えかたのどこにアナがあるのかご教示ください。

  • エクセルで平成18年の18のみ数値化

    エクセル 2000を使用しています。 平成18年10月6日の 18のみを数値でとりたいのですが 可能ですか? 奇数年度、偶数年度の判定をした為なのですが、 他に何か良い方法があればご教授ください。 よろしくお願いいたします。

専門家に質問してみよう