よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■13275 / inTopicNo.1)  index/sumproductでデータを拾いたい
  
□投稿者/ たくろう -(2018/06/12(Tue) 15:06:56)
    機械のメンテナンス一覧で漏れのチェックをしています。
    ここからB列がカメラ、C列が¥0、D列が空欄のものでA列の一番若い番号を、
    他のブックで拾いたいのですがうまくいきません。
    この場合で欲しいデータは「No.6」です。

    うまくいかなかった計算式は下記の通りです。
    =INDEX(A:A,SUMPRODUCT((B:B="カメラ")*(C:C=0)*(D:D="")*ROW(A:A))))

      A列  B列   C列  D列 
    1 No.1 カメラ ¥ 0 6/1
    2 No.2 テレビ ¥10
    3 No.3 カメラ ¥10 6/2
    4 No.4 カメラ ¥10 6/3
    5 No.5 カメラ ¥10
    6 No.6 カメラ ¥ 0
    7 No.7 カメラ ¥ 0

    シートはこの1シートのみで、
    データはNo.2000くらいまであり、日々追加されていきます。
    また日々の更新でD列にはメンテナンス実施日が追記されていき、
    No.6のD列に日付を追記された場合、欲しいデータは「No.7」です。

    何か良い方法があれば教えて下さい。
    宜しくお願い致します。

引用返信/返信 削除キー/
■13276 / inTopicNo.2)  Re[1]: index/sumproductでデータを拾いたい
□投稿者/ よねさん -(2018/06/12(Tue) 17:04:34)
    2018/06/12(Tue) 17:06:14 編集(投稿者)
    作業列を使います。E列を作業列とします。
    E1セルに =(B1="カメラ")*(C1=0)*(D1="") として、下へコピー
    求めたいセルに =INDEX(A1:A2000,MATCH(1,E1:E2000,0))
    というのでいかがでしょうか?
    

引用返信/返信 削除キー/
■13277 / inTopicNo.3)  Re[2]: index/sumproductでデータを拾いたい
□投稿者/ たくろう -(2018/06/12(Tue) 17:34:09)
    言葉足らずで申し訳ございません。
    データがあるファイルは日付や金額入力のみで、
    列を増やしたりすることができません。
    それでも何か方法はありますか。

引用返信/返信 削除キー/
■13278 / inTopicNo.4)  Re[3]: index/sumproductでデータを拾いたい
□投稿者/ よねさん -(2018/06/13(Wed) 07:16:57)
    別のファイルで求めるのなら、その別ファイルに作業列を設ければよいと考えます。
    数式は =([ファイル名]Sheet1!B1="カメラ")*([ファイル名]Sheet1!C1=0)*([ファイル名]Sheet1!D1="")
    として、2000行ほどコピーします。
    これが別ファイルのE列だとすると、
    =INDEX([ファイル名]Sheet1!A1:A2000,MATCH(1,E1:E2000,0))
    とすればよいと考えます。
    
    どうしても作業列がダメならVBAで探せばよいと思います。
    Sub test()
     Dim i As Long, Ans As Long
     With Workbooks("20180613_1.xlsx").Worksheets("Sheet1")
    
     For i = 1 To 2000
       If .Cells(i, 2).Value = "カメラ" And .Cells(i, 3).Value = 0 And .Cells(i, 4).Value = "" Then Ans = i: Exit For
     Next i
     
     Range("A1").Value = .Cells(Ans, 1).Value
     
     End With
    
    End Sub
    

引用返信/返信 削除キー/
■13279 / inTopicNo.5)  Re[4]: index/sumproductでデータを拾いたい
□投稿者/ たくろう -(2018/06/13(Wed) 08:56:51)
    何度も申し訳ございません。
    データファイル、作業ファイル共にサーバーにあるからなのか、
    作業列もVBAもうまくいきませんでした。
    なるべくVBAでやりたいと思っていますが、
    サーバーにあるファイルを開かずに使用してもVBAは機能するでしょうか。
引用返信/返信 削除キー/
■13280 / inTopicNo.6)  Re[5]: index/sumproductでデータを拾いたい
□投稿者/ たくろう -(2018/06/13(Wed) 10:55:07)
    何度も申し訳ございません。
    データファイルへの追記許可が下りたので、
    当初教えていただきました作業列追加をしました。
    今回もいろいろとありがとうございました。
    今後もまたお邪魔するかと思いますが宜しくお願い致します。
引用返信/返信 削除キー/
■13281 / inTopicNo.7)  Re[5]: index/sumproductでデータを拾いたい
□投稿者/ よねさん -(2018/06/13(Wed) 10:56:59)
    Excelでは別ブックを処理するときは、基本的に両ファイルを同じExcelで開く必要があったと思います。
    開かずに処理する方法もあったような気がしますが、この辺はご自身でお調べください。
    
    私はサーバーで実行する方法は知りませんので、管理者へお聞きになるのが早いと思います。
    サーバーからデータファイルをダウンロードして端末のExcelで処理をしたら、
    またサーバーへアップロードすればよさそうに思いますが、
    この辺は運用方法ですので、そちらで考えてください。
    
    こんな情報もありました。
    EXCELをWindowsのサーバーサイドで実行する
    http://cu-kansai-it.org/?p=453
    
    

引用返信/返信 削除キー/
■13282 / inTopicNo.8)  Re[6]: index/sumproductでデータを拾いたい
□投稿者/ よねさん -(2018/06/13(Wed) 10:58:45)
    あら、時間差で解決のようですね。
    前の回答は無視して下さい。
引用返信/返信 削除キー/
■13286 / inTopicNo.9)  Re[7]: index/sumproductでデータを拾いたい
□投稿者/ たくろう -(2018/06/15(Fri) 01:36:21)
    解決したとはいえ、根本が覆った形になってしまいました。
    せっかくいろいろと情報をいただきましたのに申し訳ございません。
    いただきました情報は今後の為にサーバー管理者と共有したいと思います。
    ありがとうございました。

引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -