• 締切済み

エクセルの表作成で困っています。

条件:その行の左から1番目の値 < その列の上から1番目  真の場合:その行の左から2番目の値  偽の場合:その行の左から3番目の値 という表を作成したいのですが、関数の式の作り方がわかりません。 IF関数を使えばよいのでしょうか。 それとも他にもっと良い方法があるでしょうか。           201001 201002 201003 201004 201005・・・ 200903 あ い    い   い   い   い   い・・・ 201003 か き    か   か   か   き   き・・・ 201112 さ し    さ   さ   さ   さ   さ・・・ ・ ・ ・ というような表を作成したいのです。 宜しくお願いいたします!

みんなの回答

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

実例を文章で1例説明すれば判りやすいのに。 例 A列に値とその列の第1行目のデータを比較する。 A列の値>=第1行目の値 同行B列の値をセット A列の値<第1行目の値 同行A列の値をセット したい。 (A列と第1行は日付らしいが、文字列で入っているのか?そのまま比較して大丈夫だろうね) 上記の内容をエクセルのス関数式化かするぐらい、初心者でも出来るだろう。IF文での質問というのが、なぜ質問するのか理解できない。 ーー ただし 式を複写すると、式のセルの行や列が移動するので、その点は相対参照、絶対参照、混合参照は勉強しておいて、使い分けないといけない。 本件ではここがポイントかな。 ==== 例データ - - - 201001 201002 201003 201004 201005 200903 あ い い い い い い 201003 か き か か か き き 201112 さ し さ さ さ さ さ D2の式は =IF($A2>=D$1,$B2,$C2) 式を右方向に複写。 次に D2:X2(例で実際は右端列を指定)の式を下方向に複写。 結果 上記のD2の右方向および下方向のデータ

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A2セルから下方に200903以下の数字がD1セルから右に201001以下の数値が並んだ表として解答します。 D2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR($A2="",D$1=""),"",IF($A2<D$1,$B2,$C2)) あなたの表のように結果を表示させるためには<が逆で次の式になりますね。 =IF(OR($A2="",D$1=""),"",IF($A2>D$1,$B2,$C2)) これらの式ではセル番号に絶対参照と相対参照の二つの形式をうまく使い分けすることが必要ですね。 $マークの付いた絶対参照はセルの式をドラッグして他のセルにコピーしても変わりません。$A2のようにした場合には右横方向にドラッグしてもAは変わりませんね。反対にD$1としている場合には右横方向にドラッグしても$1は変わりません。DがE、Fと変わっていくだけですね。また、下方にドラッグしても行番号は変わりません。常に1行目のデータを見ていることになります。 なお、OR($A2="",D$1="")はA列のセルが空の場合や1行目のデータが空の場合ということになりますね。

全文を見る
すると、全ての回答が全文表示されます。
noname#144013
noname#144013
回答No.1

こんにちは。 解釈が間違っていた場合はすみません。 > 条件:その行の左から1番目の値 < その列の上から1番目 >  真の場合:その行の左から2番目の値 >  偽の場合:その行の左から3番目の値 上記の条件ですが、ご提示の表を見る限り、以下のように式の条件が逆になって いるように思われます。   条件:その行の左から1番目の値 ≧ その列の上から1番目    真の場合:その行の左から2番目の値    偽の場合:その行の左から3番目の値 ↑こちらの判定条件だったとして、下記のようなセル構成にした場合のセルに設定 する数式の一例を掲載します。        A    B  C     D      E      F      G      H     1                201001  201002  201003  201004  201005   2  200903  あ  い    い      い     い      い      い     3  201003  か  き    か     か     か      き      き     4  201112  さ   し    さ      さ      さ      さ      さ     :    :      :      :      :      :      :      :   :    :      :      :      :      :      :      :  <セルの数式>   D2 =IF(OR(ISNUMBER($A2)=FALSE,ISNUMBER(D$1)=FALSE),"",IF($A2>=D$1,      IF($B2="","",$B2),IF($C2="","",$C2)))   ※↑の数式は表示の都合上2行になっていますが、実際は1行で記述します。   ※D2以外のセルは、D2を選択してオートフィルでコピーするか、D2をコピーして    他のセルに数式(「形式を選択して貼り付け」を使用)をコピーします。  <数式の補足>   1)セルの参照形式(相対参照、絶対参照)の違い($を付けるか、付けないか)     に注意して下さい。   2)ISNUMBER関数により、A列及び1行目のセルに数値が入っていなかった     場合は、結果を空白にするようにしています。   3)B列またはC列のセルが空白だった場合も、結果を空白にするようにして     います。 参考までに、上記の設定のExcelシートのキャプチャ画像を添付しました。 以上です。参考になれば幸いです。

goo417
質問者

お礼

ありがとうございます! 夜中だったので、まさかこんなに早くご回答をいただけるとは思わず 感動です。 まさしく私が求めていた式です。 とてもわかりやすい解説とキャプチャ画像まで添えていただき、 初心者の私でも理解しやくかったです。 丸1日以上かけても解けなかったものが解けて とても助かりました。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで表の作成方法を教えてください~

    Excelで、1列目に条件(1)、2列目に条件(2)、3列目に(1)(2)の条件を満たした値が設定されている 表Aがあります。 表Aの条件(1)はそのままで、条件(2)を1行目に横に設定し、縦の条件(1)を元に横の条件(2)の 交差する位置に値が入る表Bを作成したいのですが、どのような方法があるでしょうか? 表Aの値を更新すると表Bに反映されるようにしたいです。 宜しくお願い致します。

  • 横方向の表から条件のあう最も左よりのセルの値を返す

    横方向の表から条件のあう最も左よりのセルの値を返す方法が知りたいです。 具体的に、表で説明します。 表は、2行11列の横の表です。 1行目には、0か1のどちらかの数字が入っています。 表の一番左(A1)は必ず0です。0の値は右方向へ連続して続き、途中で値が1になります。その後1がつづき、また0になります。 やりたいことは、1行目の値が1の場合の2行目のセルから、2行目の一番左よりのセルの値を返すことです。 (図の場合ですと、D2に該当するので、「5」になります。) 補足です。 表は、2行45列です。 表は全部で72個あります。 もしも、複数の関数を同時に使う場合は、できるだけ、小分けにして下さい。 どうぞよろしくお願いします。

  • エクセルの表から近似値の行列番号を求めたい

    エクセルで作成した表があります。 その表中から別に指定した値の近似値の一番上の行と一番左の列の値を求める方法を教えてください。 表は、行に1~9、列にA~Eとそれぞれ見出しをつけ、表の中にはランダムな数字があります。 その中から、別に指定した値の近似値の行列の見出し(例えば“3-C”というように…)を求めたいのです。 良い方法がありましたら、教えてください。 よろしくお願いします。

  • エクセルについて

    A列に判定する値が入っています。 A列の値が1~18ならば3、19~24ならば4、25~30ならば2、といったような条件のB列に返したいのですが簡単な式はありませんか?実際は条件が10以上あるので、IF関数とAND関数の組み合わせだとすごく長くなってしまいます。できれば短めの式でお願いしたいのですが・・・

  • この表なんですが、●の右横の数値は左列の●直前の空白をカウントした値で、L6にはその式が入ってます。N5の上には空白がないからO5の値は0にならないのですか。L列、P列、S列、に作業列を作って●の右横の数値を表示して表を作ってみたのですが、時間がかかります。作業列を作らない方法ありますか。L5に求める値の関数が分かりません。初心者なのでご教授お願いします。

  • Excelの条件式について

     現在Excelで、条件に合うセルはデータを更新し、条件に合わないセルはその既存の値を保持するという条件式をずっと考えていますが、どうしてもやり方がわかりません。  どなたかご教授していただける方いましたらよろしくお願いします。 if(式、真の場合(=更新データ)、偽の場合(=今そのセルにあるデータを保持)) の偽の場合がどのように指定すればよいかわからないということです。

  • エクセル:真の場合に色をつける。

    エクセルで、ある条件に合致したデータ行に何らかの色をつけて見やすくする計算式を教えてください。 =if(条件、真の場合/データ行に色つけ、偽の場合/そのまま) というような式を作りたいのですが、セル/行に色をつけるやり方が判りません。ご教示ください。 (・・・色をつけた行を別に用意し、真の場合、色の書式だけ返すとか・・???汗)

  • 【VBA】エクセルからパワポの表に値を貼り付けたい

    エクセルに項目が縦に1列に並んでおり、その右隣の列に値Aがあるとします。 エクセルの項目と同じ文字列が書かれた表がパワーポイントにあり、その右側に値Aを貼り付けたいです。(表は項目が左に1列、右に値Aを入力したい列が1列ある形です。) エクセルと同じ文字列が入っている表があれば、その表の右側に値を代入するといった条件式をVBAで作成することは可能でしょうか。 エクセルのマクロはよく使っているのですが、パワポは全く分かりません。 実現可能かも含めご教示いただきたいです。

  • エクセルで一覧表を「縦横」に調べて該当する値を取り出す方法について

    Excel2002を使用しています。 下記のような表を作成し、「MATCH関数」と「INDEX関数」を使用して、該当の値(仮にα値:5.3、距離700とします)を取り出そうとしているのですが、エラーになってしまいます。 A B C D 1 3.4 3.5 3.6  2 700 30.0 30.4 30.7 3 750 31.1 31.6 31.9     4 800 32.3 32.8 33.2 5 6 α値 5.3     7 距離 700   この表から、行番号、列番号を出すために、以下の関数式を使っています。     行番号:=MATCH(B6,B1:D1)     列番号:=MATCH(B7,A2:A4)  最後に、「INDEX関数」で該当の値を取り出したいのですが、この「INDEX関数」の結果が「#REF!」になってしまいます。関数式は   =INDEX(B2:D4,D6,D7) ちなみに、D6には、行番号の関数式が、D7には、列番号の関数式が入っています。 このエラーを解消したいのですが、どなたか知恵を貸していただけませんでしょうか。よろしくお願いします。

  • エクセル 表の行と列

    すみませんが、ご教授願います。 Excelで作成した表の行と列の説明で次のうち間違いはどれか 1.行と列を入れ替えて新たな表を作成するときは 行と列を入れ替える機能を使うと便利である 2.行や列のセルを対象にしての関数計算の際、行や列を 非表示にするとエラーメッセージが出て計算が出来ない 3.ある行や列を非表示にして印刷する際 非表示にした部分は印刷されない 4.現在のシートの行と列の表示を 右から左へ表示することが出来る

専門家に質問してみよう