戻る  □VBAのサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
重複ありデータのセル位置(行番号、列番号)を関数で得る

    [132488] 重複ありデータのセル位置(行番号、列番号)を関数で得る-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ ゴリ -(2021/07/15(15:45))
    □U R L/
      【環境:Windows10、EXCEL2007】
      
      以下のURLで「SUMPRODUCT関数」を用いて指定値の行番号、列番号を求める
      方法が解説されています。
      
      h ttp://office-qa.com/Excel/ex299.htm
      
      このページの最初の表で[A3][B1]セルも「ぞう」だった場合、以下の各ケースでは
      どのようにして行番号、列番号を得るのでしょうか?
      
         A       B
      1 さる	  ぞう
      2 きりん  ぞう
      3 ぞう	  かめ
      
      ●ケース1:行方向に検索して最初に見つかった「1行目、2列目」[B1]を得る
      ●ケース2:行方向に検索して最後に見つかった「3行目、1列目」[A3]を得る
      ●ケース3:行方向に検索して2番目に見つかった「2行目、2列目」[B2]を得る
      
      ●ケース4:列方向に検索して最初に見つかった「3行目、1列目」[A3]を得る
      ●ケース5:列方向に検索して最後に見つかった「2行目、2列目」[B2]を得る
      ●ケース6:列方向に検索して2番目に見つかった「1行目、2列目」[B1]を得る
      
      VBAや検索ではなく、関数で取得する方法があれば、教えてください。



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒Excel 2007
      ++++++++++++++++++++




    [132489] Re[1]: 重複ありデータのセル位置(行番号、列番号)を関数で得る-

    記事引用/メール受信=OFF■

    □投稿者/ ねむねむ -(2021/07/15(16:17))
    □U R L/

      ケース1
      =INT(AGGREGATE(15,6,(ROW(A1:B3)*10+COLUMN(A1:B3))/(A1:B3="ぞう"),1)/10)
      =MOD(AGGREGATE(15,6,(ROW(A1:B3)*10+COLUMN(A1:B3))/(A1:B3="ぞう"),1),10)
      ケース2
      =INT(AGGREGATE(14,6,(ROW(A1:B3)*10+COLUMN(A1:B3))/(A1:B3="ぞう"),1)/10)
      =MOD(AGGREGATE(14,6,(ROW(A1:B3)*10+COLUMN(A1:B3))/(A1:B3="ぞう"),1),10)
      ケース3
      =INT(AGGREGATE(15,6,(ROW(A1:B3)*10+COLUMN(A1:B3))/(A1:B3="ぞう"),2)/10)
      =MOD(AGGREGATE(15,6,(ROW(A1:B3)*10+COLUMN(A1:B3))/(A1:B3="ぞう"),2),10)
      ケース4
      =MOD(AGGREGATE(15,6,(COLUMN(A1:B3)*10+ROW(A1:B3))/(A1:B3="ぞう"),1),10)
      =INT(AGGREGATE(15,6,(COLUMN(A1:B3)*10+ROW(A1:B3))/(A1:B3="ぞう"),1)/10)
      ケース5
      =MOD(AGGREGATE(14,6,(COLUMN(A1:B3)*10+ROW(A1:B3))/(A1:B3="ぞう"),1),10)
      =INT(AGGREGATE(14,6,(COLUMN(A1:B3)*10+ROW(A1:B3))/(A1:B3="ぞう"),1)/10)
      ケース6
      =MOD(AGGREGATE(15,6,(COLUMN(A1:B3)*10+ROW(A1:B3))/(A1:B3="ぞう"),2),10)
      =INT(AGGREGATE(15,6,(COLUMN(A1:B3)*10+ROW(A1:B3))/(A1:B3="ぞう"),2)/10)
      ではどうだろうか?




    [132490] Re[2]: 重複ありデータのセル位置(行番号、列番号)を関数で得る-

    記事引用/メール受信=OFF■

    □投稿者/ ゴリ -(2021/07/15(16:44))
    □U R L/

      ねむねむ様、ありがとうございます。

      Excel2007なので、AGGREGATE関数が使えないのですが、
      Excel2007では、無理でしょうか?




    [132491] Re[3]: 重複ありデータのセル位置(行番号、列番号)を関数で得る-

    記事引用/メール受信=OFF■

    □投稿者/ ねむねむ -(2021/07/15(17:13))
    □U R L/

      すまない、バージョンをきちんと確認していなかった。
      ケース1
      =INT(SMALL(IF(A1:B3="ぞう",ROW(A1:B3)*10+COLUMN(A1:B3),""),1)/10)
      =MOD(SMALL(IF(A1:B3="ぞう",ROW(A1:B3)*10+COLUMN(A1:B3),""),1),10)
      ケース2
      =INT(LARGE(IF(A1:B3="ぞう",ROW(A1:B3)*10+COLUMN(A1:B3),""),1)/10)
      =MOD(LARGE(IF(A1:B3="ぞう",ROW(A1:B3)*10+COLUMN(A1:B3),""),1),10)
      ケース3
      =INT(SMALL(IF(A1:B3="ぞう",ROW(A1:B3)*10+COLUMN(A1:B3),""),2)/10)
      =MOD(SMALL(IF(A1:B3="ぞう",ROW(A1:B3)*10+COLUMN(A1:B3),""),2),10)
      ケース4
      =MOD(SMALL(IF(A1:B3="ぞう",COLUMN(A1:B3)*10+ROW(A1:B3),""),1),10)
      =INT(SMALL(IF(A1:B3="ぞう",COLUMN(A1:B3)*10+ROW(A1:B3),""),1)/10)
      ケース5
      =MOD(LARGE(IF(A1:B3="ぞう",COLUMN(A1:B3)*10+ROW(A1:B3),""),1),10)
      =INT(LARGE(IF(A1:B3="ぞう",COLUMN(A1:B3)*10+ROW(A1:B3),""),1)/10)
      ケース6
      =MOD(SMALL(IF(A1:B3="ぞう",COLUMN(A1:B3)*10+ROW(A1:B3),""),2),10)
      =INT(SMALL(IF(A1:B3="ぞう",COLUMN(A1:B3)*10+ROW(A1:B3),""),2)/10)
      配列数式のため、入力時にShiftキーとCtrlキーを押しながらEnterキーで式を確定してくれ。
      (確定時に式が{}で囲まれればOK)




    [132492] Re[4]: 重複ありデータのセル位置(行番号、列番号)を関数で得る-

    記事引用/メール受信=OFF■

    □投稿者/ ゴリ -(2021/07/15(17:52))
    □U R L/

      ねむねむ様、ありがとうございます。

      提示いただいた数式で、期待通りの結果を得られました。

      まだ未熟で、自分でこのような数式を作成できるスキルはありませんが
      キモは「行番号や列番号に10を乗じて元に戻した商や余りを得る」事だと
      自分なりに思ったのですが、この「からくり」が理解できません。

      解説を、お願いできないでしょうか?




    [132493] Re[5]: 重複ありデータのセル位置(行番号、列番号)を関数で得る-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ ゴリ -(2021/07/15(18:20))
    □U R L/

      ねむねむ様、面倒なお願いをして、申し訳ありません。

      式を分解して考えたら、理解できました。
      一人でこのような式が書けるよう、精進いたします。
      上位Versionでは、AGGREGATE関数が使えるという事も、頭に入れておきます。

      どうも、ありがとうございました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G