- ベストアンサー
HLOOKUPについて (2)
朝、HLOOKUPについてで質問させていただき、良回答を頂いたのですが、再度質問させていただきます。 月のシートが毎月同じ項目でないので、(4月には 16-001があるが、5月にはなく6月にまた出てくる)エラーが出てしまいました。 式は IF(C36="","",(hlookup(c36,4月,2,0)))+IF(C36="","",(hlookup(c36,5月,2,0))) これはもう、HLOOKUPでは処理できないと言うことなのでしょうか? その場合は何かよい方法等ありますか? 目的は、累計を作りたいのです。 月の一覧表の中に一年分の項目をある程度作っておくのもいいかもしれないのですが、出来れば月の一覧も印刷するので、入れたくはないです。 再度皆様のお知恵をお借りできればと思い、質問させていただきました。 よろしくお願いします。
- yukinko3
- お礼率81% (31/38)
- オフィス系ソフト
- 回答数4
- ありがとう数4
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
関数が長くなりますが、以下の方法は如何でしょうか。 =IF(C36="","",IF(COUNTIF(4月,C36)=0,0,HLOOKUP(C36,4月,2,0))+IF(COUNTIF(5月,C36)=0,0,HLOOKUP(C36,5月,2,0)))
その他の回答 (3)
- banker_U
- ベストアンサー率21% (17/78)
こんにちは どうしても今の方法で解決したいのなら、ISNA関数を使うのが常套手段です。 簡単に使用例を書いておくと、 =IF(ISNA(HLOOKUP(略)),0,HLOOKUP(略)) (2つの「略」の内容は同じ。 これで、HLOOKUPで見つからなければ0みつかればその値が出せます。あとはこれを足し算すれば目的の操作は一応できます。 ただ、私は別の方法を提案したいと思います。 目的は、累計を作りたいのです。 >月の一覧表の中に一年分の項目をある程度作っておくのもいいかもしれないのですが、 >出来れば月の一覧も印刷するので、入れたくはないです。 という目的でしたら、 「月の一覧表の中に一年分の項目をある程度作って」おけばいいのです。それで、フォントを「白」(背景色が白の場合)にしておけば(あるいは可能なら列単位・行単位で非表示にする)、印刷には出ません。 さらに、テキストボックスを作って、数式バーから=A1と入力したうえで、プロパティで「オブジェクトを印刷する」のチェックをはずしておけば、画面上では確認できるが、印刷はされないと言うことができます。 ※注:テキストボックスに直接数式を入力してもだめです。あくまで数式バーから入力してください。
お礼
回答ありがとうございました。 ISNAもCOUNTIFも希望の数字が出てきました。 どちらがいいのかは分かりませんが、どちらも使ってみたいと思います。 提案いただいた方法ですが、一年分の項目が200以上あります。そしてこの数値は別に作った集計表から引っ張ってきます。 極力入力をしくない為、月別は今のままでいきたいと思います。 いろいろありがとうございました。
- mshr1962
- ベストアンサー率39% (7418/18948)
#2のmshr1962です。すみません。単なる閉じカッコの記入漏れです。 =IF(ISNA(HLOOKUP(C36,4月,2,0)),0,HLOOKUP(C36,4月,2,0))+..... ISNA関数の閉じカッコが外れてました。
お礼
再度の回答ありがとうございます。 これからこの方法も、試してみたいと思います。
- mshr1962
- ベストアンサー率39% (7418/18948)
HLOOKUPは検索型がFALSE(又は0)該当の値が見つからないと#N/Aというエラー値を返します。 エラーの原因はそこにありませんか? =IF(ISNA(HLOOKUP(C36,4月,2,0),0,HLOOKUP(C36,4月,2,0))+..... で計算してください。
お礼
今回も回答頂きありがとうございます。 上記の式が一ヶ月分ですよね? 入力してみたのですが、真ん中の,0,の所でエラーが出てしまいました。 ISNAと言う関数は今回初めて見たので、エラーの内容もよく分からず、再度の質問のようになってしまいますが、このエラーはどう言う意味なのでしょうか?
関連するQ&A
- HLOOKUPについて
データの一覧がシート1~12まで入っています。(1ヶ月ごとに作ってあります。) その中から拾い出しをするようにしたのですが、 正しい値を拾ってきてくれません。 数式はHLOOKUP(C36,4月,2)としてあります。 データと同じシート状に作っているのですがそれが問題なのでしょうか? シートのデータ内容は A | B | C・・・・ 1 | 16-013 | 16-020 | 17-103 2 | 200 | 500 | 300 3 | 10 | 100 | 200 このような感じです。 数式のC36には1行目の16-020等が入ります。
- ベストアンサー
- オフィス系ソフト
- エクセルでHLOOKUP関数の選択範囲について
エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、 A列 B列 C列 D列 ... 1003、1004、1005、1006、... 2行目 A101 3行目 B203 4行目 C305 . . . データのはいっているシート、A101は下の表になっています。 B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- HLOOKUPでもVLOOKUPでもなくて、それに似た関数はありますか
HLOOKUPでもVLOOKUPでもなくて、それに似た関数はありますか? やりたいことは、 同じファイルにシート1とシート2があり、 シート1には a列 b列 c列 d列 1 ミッキー サッカー チョコレート 2 ミニー 野球 クッキー 3 ドナルド テニス ビスケット 4 デイジー 水泳 ポテトチップス ・ ・ ・ という、10,000行ほどのエクセル表があり、 シート2には、 野球 水泳 ・ ・ などという風に、シート1のc列の文字列が全部ではなく、複数ある1列のみのエクセル表があります。 そして、このシート2のセルをそれぞれシート1で検索して、それを含む一行全部を表示した エクセル表を新たにシート3に作成したいのですが、関数かVBAかで可能でしょうか? 例えば、この場合、シート3には a列 b列 c列 d列 2 ミニー 野球 クッキー 4 デイジー 水泳 ポテトチップス ・ ・ ・ というように表示したいのです。 HLOOKUPやVLOOKUPは検索される文字列は端っこしかダメなんですよね? 教えて下さい!!
- ベストアンサー
- Visual Basic
- エクセルでIF文とHLOOKUP関数の合わせ技で。。。
エクセルで関数について質問です。 HLOOKUP関数で検索した先が空欄なら空欄、値があるならHLOOKUP関数で検索した値が入るようにしたいのです。 たとえば、私が作成した関数は =IF(HLOOKUP($A$1,Sheet1!$A$1:$D$10,2,0)="","",HLOOKUP($A$1,Sheet1!$A$1:$D$10,2,0)) この場合、同じ内容のHLOOKUP関数を2度入力しなくてはなりません。 そうではなく、もっとスマートに出来る方法がありましたら教えていただきたいのです。
- ベストアンサー
- オフィス系ソフト
- エクセルで売上表を作るとき・・
毎月の売上金額一覧表(商品別)を作成しています。月が替わるたびに シートを継ぎ足し 表をコピーしています。月の累計を簡単に出す方法 教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルでわからないことがあって困っています
エクセルについての質問です。シート1へは毎月ごとの数字を入力します。例えば4月とあって、項目がa,b,c・・・と数字入力するところが10箇所ぐらいあります。5月、6月・・・と1年間、入力する項目は毎月同じ箇所ですが、それぞれ数字が違ってきます。まずこのように毎月それぞれ入力したら、それを基にして前月までの数字と次月の数字を合わせた累計の数字が反映されるようにしたいのです。反映されるものは別のシートへでもかまわないのです。1月と2月の累計。1月と2月と3月の累計。というように、今月と前の月までの累計というように、1月ずつ増えた状況でのそれぞれの累計を出す場合の方法をご存知の方いらっしゃればどうか教えてくださいますようお願いいたします。
- ベストアンサー
- オフィス系ソフト
- HLOOKUP関数の逆を検索したい
毎月の会員来店記録管理を以下のような表でしています。 |A| B | C | D | E | F | G | ~AK --+--+--------+--------+--------+--------+----------+----------+-------- 2| | NO | 氏名 | 入会日 |来店累計|直近来店日|02/01(火)|02(水) --+--+--------+--------+--------+--------+----------+----------+-------- 3| |A-04-100|○山△子|04/10/10| 25回 | 02(水) | (空欄) | 12:55 --+--+--------+--------+--------+--------+----------+----------+-------- 4| |A-04-101|□村×代|04/10/11| 12回 | 01(火) | 10:25 | (空欄) --+--+--------+--------+--------+--------+----------+----------+-------- G2~AK2はF2に1を足していき、29日以降はMONTH関数の判定で""となっています。 F列およびG2~AK2の書式設定は「dd aaa」となっています。 B~D列はシート「会員名簿」から参照しています。 E列は=IF(D3<>"",COUNT(G3:AK3),"")等として求めています。 G~AK列は来店時間を手入力しています。 以上からF列の値を求めたいのですが、次のINDEX関数では領域番号に何を指定 すれば良いのか判りませんでした。 =INDEX($G$2:$AK$2,1,?) まるでHLOOKUP関数の逆のようですが、なにか良い方法があればお教え下さい。
- ベストアンサー
- オフィス系ソフト
- EXCEL 縦検索で複数の条件式?(HLOOKUP?)
お世話になっております。 A B C D 1 みかん みかん みかん りんご ・・・ 2 S M L S ・・・ 3 4 東京 大阪 埼玉 群馬 SHEET1にこんな表があります。 SHEET2で、たとえばA1に「みかん」A2に「M」と入れた場合、A3に「大阪」と表示されるような式はつくれますか。 HLOOKUPで複数の条件式が使えれば出来ると思うんですが、色々探してみてもよくわかりません。 HLOOKUPでなくても、同じ動作ができれば結構です。 アドバイスを宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで2つの条件を満たした列をHLOOKUPで
エクセルで、1行目と2行目の条件を満たした列をHLOOKUPで参照したいです。 人件費の表をつくっています。 給与明細の名前の欄をプルダウンで変更可能にし、名前を変えればその人の出勤時間が表示されるようにしたいです。 時間を記入するシート1は下のようになってます A B C D 山田 山田 鈴木 鈴木 出勤 退勤 出勤 退勤 14 21 18 23 16 21 18 22 15 23 17 23 16 22 17 21 1行目が氏名 2行目が出勤か退勤か 3行目以降が時間記入欄です。 別シート2に給与明細がありまして A B C 氏名 山田 出退 出勤 退勤 1日 14 21 2日 16 21 3日 15 23 のように参照されています 氏名の「山田」の部分がプルダウンリストで選べるようになっていて この氏名の部分を「山田」から「鈴木」に変更すると自動的に出勤と退勤の時間が「鈴木」のものへ変更になるようにしたいです。 やりたいことは以下の事です シート2の氏名が「山田」であれば例のシート2のまま シート2の氏名の部分を「山田」から「鈴木」へ変更すれば B4、B5、B6セルは18、18、17に変わり C4、C5、C6セルは23、22,23に変化するようにしたいです。 関連しそうなIF,AND,MATCH,HLOOKUP等組み合わせてみましたが、どうもうまくいきません。 わかりづらいと思いますが、是非教えて頂ければ幸いですので宜しくお願いします。
- 締切済み
- 財務・会計・経理
- ExcelのHLOOKUPに類似した関数はないですか?
現在、Excelにて、 O列からT列までのセルに、本日行った作業に○をつける表を作っています。 (○は1行に対して必ず1つです。) 例) A・・・N O P Q R S T 1 配置図 平面図 立面図 展開図 矩計図 鳥瞰図 2 8/1 ○ 3 8/1 ○ 4 8/2 ○ 5 8/2 0.3 6 8/3 0.7 7 8/6 ○ ・ ・ 101 係数 1 2 3 4 5 6 という感じなのですが、別表に A B C D E 1 8/1 8/2 8/3 ・ ・ 2 配置図 1 "0.3" "0.7" ←これがチャント表示されるようにしたい! 3 平面図 4 立面図 1 5 展開図 6 矩計図 1 7 鳥瞰図 となる表を作成し、前表の101行目の係数に対して =IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") という式を入れ、 その係数と日付を DSUMを用いて別表のB2に1 を入れたり、B4に1を入れたり... となるように作ったのですが、 (○は1と同じ意味です。図面が1枚完成すれば○としたものです。) しかし、1日では完成しきらなかった図面は小数点で入れるということになり、 前表の5,6行目のように、 0.1~0.9の何が入るのか分からない為、○に対するHLOOKUP関数では 処理出来なくなったのです。 長々と書き分かりにくくなっちゃいましたが、 AA1=IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") を入れたとして、 AA5の場合 AA5=IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") ↑ここが0.3でないと係数が帰らない。 しかし、いつも0.3とは限らない為、それに変わる言葉、 もしくは、 HLOOKUPに変わる何か良い関数は無いでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
今回も回答頂きありがとうございます。 希望の数値が出てきました。 奥深いことを改めて感じました。 ただ、12ヶ月あるので後半がちょっと心配です。