• ベストアンサー

エクセルの関数を複数組み合わせる方法

地名と時間を元に決まっている数字を書き入れるような関数をどうすれば作れるか教えていただけませんか?? 例えばA1列に地名(TOKYO,OSAKA,NAGOYAのどれかが入る)B列に時間(0~24H)が入力してあり、C列にAとBの条件が合う時に、それに対する数字をつけたく思います。 例) TOKYO:24H以上で50、10H以上24H未満で30、5H以上10H未満で20、5H未満で0 OSAKA:24以上で100、10H以上24H未満で50、5H以上10H未満で30、5H未満で0。 NAGOYA:24以上で80、10H以上24H未満で60、5H以上10H未満で350、5H未満で0。 のように地名と時間によって出てくる数字を変化させたいのですが、よろしくお願いします。

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

  • ベストアンサー
  • onntao
  • ベストアンサー率32% (108/332)
回答No.1

Index関数とMatch関数の組み合わせがよろしいかと 条件を一覧表にして、表引きする 参考に 一覧表を“縦横”に調べ、該当するデータを取り出す http://pc.nikkeibp.co.jp/pc21/tech/excel36/26/index.shtml C列に式を入れ下段にコピーですね

DUS123
質問者

お礼

Index関数とMatch関数なんて初めて知りましたし、参考ページを勉強し理解する事ができました。 ありがとうございました。

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

その他の回答 (2)

noname#140971
noname#140971
回答No.3

既に正答が出ていますが・・・。 <A>_______<B>_________<C>__________<D><E><F><G> TOKYO__0:00:00______00:00:00 1__00__00__00__00 TOKYO__5:00:00______00:05:00 1__20__00__00__20 TOKYO__12:00:00____00:12:00 1__00__30__00__30 TOKYO__13:00:00____00:13:00 1__00__30__00__30 TOKYO__23:59:00____00:23:59 1__00__30__00__30 TOKYO__24:00:00____01:00:00 1__00__00__50__50 TOKYO__25:00:00____01:01:00 1__00__00__50__50 C=TEXT(DAY(B1),"00") & ":" & TEXT(HOUR(B1),"00") & ":" & TEXT(MINUTE(B1),"00") D=(A1="TOKYO")*1 E=(C1>="00:05:00") * (C1 < "00:10:00")*20 F=((C1>="00:10:00") * (C1 < "01:00:00"))*30 G=(C1>="01:00:00")*50 H=(E1+F1+G1)*D1 このように小学校3年生レベルの足し算、掛算でも出来ないことはありません。 しかし、これは非現実的です。 Hの式を展開すれば、ものすごーい長さになります。 もう15年も前になりますが、法人税申告書作成システムで掛かる式を組み込もうとした税理士がおられました。 そうして、式の長さ制限に引っかかって頓挫されてヘルプの電話。 そこで、私が採用したのが<表引き方式>です。 そして、<表引き方式>ゆえに法人税申告書作成システムは今でも現役で活躍しています。 No1、No2さんの<表引き方式>が一番だなーと思う理由です。

DUS123
質問者

お礼

早速の回答ありがとうございます。 <表引き方式>という言葉は初めて聞きましたが、法人税申告書作成システムでこのやり方が活躍しているとは知りませんでした。 ありがとうございます。

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

   A    B    C  D  E   F  G  H  I 1  場所  時間(H) 数値       0H  5H 10H 24H 2  TOKYO    19  30   TOKYO  0  20  30  50 3  OSAKA    31  100   OSAKA  0  30  50 100 4  TOKYO     7  20   NAGOYA  0 350  60  80 5  NAGOYA    26  80 6  OSAKA     1   0 7  NAGOYA    9  350 8  OSAKA    15  50 9  NAGOYA    22  60 10 TOKYO    33  50 11 TOKYO     3   0 12 NAGOYA    4   0 13 OSAKA     8  30 C2: =VLOOKUP(A2,E$2:I$4,MATCH(B2,E$1:I$1),FALSE)

DUS123
質問者

お礼

わざわざ、式まで作成していただきありがとうございました。 今後の参考にさせていただきます。

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

関連するQ&A

  • エクセルでA列とB列のデータを統合するには?

    エクセルでA列とB列のデータを統合することはできるでしょうか?よろしくおねがいします。 A列^^^^^B列 1,^^^^^^Tokyo 2,^^^^^^Osaka 3,^^^^^^Nagoya 下のようにしたいのです。「^^」はスペースをあらわします。 A列^^^^^^^B列(データはなし) 1^^Tokyo 2^^Osaka 3^^Nagoya エクセル2002です。

  • エクセルのIF関数について教えてください

    教えてください A列の数字(時間)からB列の金額をはじき出したいです A列(時間)          B列(金額) 120時間以上        8,000円 80時間以上120時間未満  6,000円 40時間以上80時間未満  4,000円 40時間未満          2,000円 この関数を教えてください よろしくお願いいたします。

  • エクセル 複数条件のIF関数 

    0から360の数字がランダムに入力されているA列があります。この数字を以下の条件でB列に入力したいのです。 (1)288以上なら280を引く (2)144以上なら144を引く (3)72以上なら72を引く (4)72未満ならその数字のまま入力 結果として、72未満の数字がB列に入力されることになります、 IF関数を使えばできるのかなと思いますが、違う方法でもよいです。 4万セルくらいを処理するので一番簡単な方法を教えてください。 よろしくお願いいたします。

  • ファイル名からテキスト内文字列の置換

    フォルダ内に tokyo.txt、nagoya.txt、osaka.txt… といったファイル名のテキストファイルがあり そのテキストファイルの中に 地名リンクという文字列があります。 この地名リンクという文字列を各々のファイル名 tokyo.txt、nagoya.txt、osaka.txt…(できれば.txtなしのtokyo,nagoya,osaka) に一括置換したいのですが、何かいい方法はありませんか。

  • エクセルの関数について

    (例   A列    B列       1    H19/4/1     2      H19/4/5   3     H19/5/1  ・  5    H19/4/6  1    H19/4/9   8    H19/4/3  2    H19/5/9   以上の例で、平成19年4月にはA列に何種類のデータがあるかを求める関数を教えてください。この例でいくと答えは、1と2と5と8の4種類になります。よろしくお願いします。

  • エクセル関数式

    エクセルの関数式で質問です。 A列 B列 C列 1 100 200 kuruma 2 200 300 densha 同じ行の中で、A列以上、B列未満に該当していれば、C列を 出力するという関数式ってわかりますか? 例えば"150"という数字があるとすると、100以上200未満なので 結果が"kuruma"という感じです。

  • 関数式

    下記表の()内の数字を関数式で表示させる方法はありますでしょうか? city   A  B  C  D  E tokyo 1200 1300 1400 (C)(1300) osaka 2800 2300 2200 (A)(2300) kyoto 3500 4000 3400 (B)(4000) ============================== total 7500 7600 7000 D列 tokyoの行で一番数字の大きい名前(A,B,C)を表示したい。(この場合はCが出てくる) E列 total数字の一番大きい人(この場合はB)の各数字を表示したい。 解りずらい説明で申し訳ないのですが、、、どなたか解る方、方法をご伝授ください。

  • EXCEL:A列とB列の内容を足してC列に

    A列(http://~)とB列(/tokyo、/osaka、/nagoya…)と言う構成で それらを合算した文字列をC列に表示したいのですが上手く行きません (例)="A1"+"B1" どのようにしたら良いか御教授願います。 後、私がしようとしている作業の名称は何と言うのでしょう?セル結合でないのは分かるのですが。

  • Excelの関数について

    Excelの関数について教えて下さい。 小数点2位未満の端数について、切り上げor切り捨ての処理をしたいのですが、 具体的には、計算結果が50銭円以下の場合には切り捨てて0円に、 50銭1厘以上の場合には切り上げて1円にしたいのですが、 どんな関数を使えばよいのでしょうか? (例1)A1:¥64、B1:0.008、C1:A1*B1=¥0.512→¥1 (例2)A2:¥63、B2:0.008、C2:A2*B2=¥0.504→¥0 ※雇用保険料の計算です、  A列には給料の金額が入り、  C列には円未満が50銭以下の場合は円未満切り捨て、円未満が50銭1厘以上の場合は円未満切り上げとなります。 宜しくお願いいたします。

  • エクセル関数

    次のような場合の関数をご教示頂けないでしょうか? ・A列には、時々連続する通し番号が入っています。 例 1 2 3 4 4 4 5 6 7 7 7 7 7 8 ・B列には、A列が1個の数字の行には 0 が、複数の数字の行には 1 が入っています。 例 0 0 0 1 1 1 0 0 1 1 1 1 1 0 ・C列に、関数で次のように自動入力したいのです。  B列が 0 なら 0  B列が 1 のグループの先頭行には 1  B列が 1 のグループの途中の行には 2  B列が 1 のグループの最後の行には 3 例 0 0 0 1 2 3 0 0 1 2 2 2 3 0 どういう関数になりますでしょうか? よろしくお願い致します。

このQ&Aのポイント
  • HCS-WFS01とアプリECLEAR APP(iOS版)との同期ができない。
  • 機器裏側のQRコード読み込み後、アプリ上には情報が表示されるが、機器側はまだ接続中の表示。Wi-Fiマークが点滅し、エラーErr4と表示され、電源が落ちる。
  • 接続解除やアプリ再起動などを試しても問題解消しない。Appleのヘルスケアアプリへの同期方法も知りたい。
回答を見る

専門家に質問してみよう