- ベストアンサー
エクセルの関数で最新の結果を反映させる方法
- エクセルで架電結果を記録しています。コール結果の項目は1〜16のコール結果をプルダウンメニューで選択できますが、最新の結果を別のセルに反映させたいと考えています。5900行のデータがあり、最新の結果をHK列に表示したいです。
- エクセルのシートには5900行のデータがあり、コール結果の項目はプルダウンメニューで選択できます。最新のコール結果をHK列に反映させたいのですが、どのような関数式を使用すればよいですか?
- 私はエクセルで架電結果を記録しています。コール結果の項目はプルダウンメニューで選択できますが、最新の結果を他のセルに表示したいです。5900行のデータがあり、最新の結果をHK列に表示するための関数式を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。項目は全部文字列ですか?No.2の方法はそれでは使えませんね。 配列数式でいいなら HK2=INDEX($A2:$HJ2,1,MAX(COLUMN($A2:$HJ2)*1000^(($A2:HJ$2<>"")*(RIGHT($A1:$HJ1,2)="結果")))/1000) と入力してCtrl+Shift+Enterで確定してください。
その他の回答 (4)
- mimeu
- ベストアンサー率49% (39/79)
NO.4 です。失礼しました『ワークシート関数では不可能』ではなくて =INDEX($D2:$HH2,IF(ISBLANK($HF2),214,IF(ISBLANK($HC2),211,IF(ISBLANK($GZ2),208,205)))) などとすれば可能です。 ただし、これで全部ではなく『IF(ISBLANK』関数を最後に IF(ISBLANK($G2,7,4) に至るまで全部で70回繰り返す必要があります。不可能ではなくエライ手間がかかるということです。またこの式はコール結果のものですから架電時間帯と備考には INDEX 関数の引数をそれぞれ+1,+2する必要があります。
お礼
ご教示有難うございます。 詳しい人に伺い、結局その方にやってもらいました。 たぶん、VBAかなにかを組んだのだと思われます。 すごいですね、みなさん、本当にお詳しい。ありがとうございます。
- mimeu
- ベストアンサー率49% (39/79)
この場合、最終のコール結果列をどうやって判断するかが課題ですね。 それがわかれば、INDEX関数を使えばよいわけです。 コール結果も架電時間帯もご質問のような文字列であれば、もし備考列にデータが百%書かれているならCOUNTBLANK関数で最終のコール結果列を判断できます。 しかし備考列は書いてある場合も空白の場合もあるのなら、ワークシート関数でご希望の結果を得ることは不可能ではないでしょうか。 その場合、ExcelのBasic言語(VBA)を使えば簡単に実現できますが、VBAは使いたくないのでしょうか?
- mshr1962
- ベストアンサー率39% (7417/18945)
D列 ●月●日分コール結果 E列 架電時間帯 F列 備考 がワンセットですよね。 コール結果が数値で架電時間帯が時刻(数字)の場合 HK2=INDEX(D2:HJ2,1,MATCH(MAX(D2:HJ2)+1,D2:HJ2,1)-1) コール結果が数値で架電時間帯が文字列の場合 HK2=INDEX(D2:HJ2,1,MATCH(MAX(D2:HJ2)+1,D2:HJ2,1))
補足
ありがとうございます。 コール結果は文字列です。例えば、「1、アポ」「2、興味なし」「5、不在・外出」というような文言が16つ、プルダウンで選べるようになっております。また、架電時間帯は文字列です。「午前」・「午後」・「18時以降」と3種類それぞれプルダウンで選べるように、エクセル内で設定をしております。 上述の関数を組みましたが、結果は「#N/A」となりました。 ご教示お願いいたします。
- mine2309
- ベストアンサー率37% (36/96)
max関数使ったら?
お礼
ありがとうございました。結局のところ、会社に詳しい方が来て、やっていただけることになりました。しかし、自分で、関数をまともに触った事もないので、いい勉強になりました。 本当にありがとうございます。