[[20140705062953]] 『文字数字記号を選別してから下2桁番号のMax関』(健) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『文字数字記号を選別してから下2桁番号のMax関数式』(健)

こんな事、関数で出来ますか。

下記A列の半角文字記号の前から4桁が用件で、ハイフン後方が問合せ順番号です。 

B列1行に 例えば、1102 の用件番号(文字)を打込むと、A列の 1102(用件)の中で最も大きな順番号の付いた1102-55が、C列1行に55 又は 1102-55と 関数を用いて呼び込めませんか。 
A列には同じ記号が複数(送・受信の繰り返しの為)あり、約2,000の用件と順番は1〜99の間。

         A             B               C                          
     文字記号         用件           順番号  
 1                   1102              55   又は  1102-55  
           タイプ入力 ↑              ↑ 関数式を用いて番号表示
          (文字 又は 数字)            (文字 又は 数字)
 2  
 3   3309-7
 4   3309-1
 5   2332-15
 6   2332-55  
 7   3309-7
 8   1102-4   ← 1102 
 9   2332-77
10   1102-41  ← 1102 
11   2332-63
12   1102-55  ← 1102 で最も大きな番号
13   3309-13
14   1102-55  ← 1102 で最も大きな番号
15   3025-19
16   1102-12  ← 1102 
17   1102-7   ← 1102 
18   1102-31  ← 1102 
19   2332-15
20   3309-1
21   1102-55  ← 1102 で最も大きな番号

説明が不十分かも知れませんが、複数の関数を組み合わせるか、マクロでもかまいません。

教えてください。

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 > 下記A列の半角文字記号の前から4桁
 > 順番は1〜99の間

 半角文字記号というのが全て半角ハイフンのことで、
 順番号は最大2桁だとして

 C1 =MAX(INDEX(TEXT(RIGHT(0&A3:A2000,2),"0;0;0")*(LEFT(A3:A2000,4)=B1&""),0))
 
(追記)
 ほとんど同じだけど
 C1 =MAX(INDEX(TEXT(RIGHT(A3:A2000,2),"0;0;0;!0")*(LEFT(A3:A2000,4)=B1&""),0)) 
 
(追記2)
 作業列を使って、用件番号と順番号の列を分けてもいいんだったら
 DMAX関数で簡単にできるけどね。
 
(名無しのおっさん) 2014/07/05(土) 09:14 最終09:40

 上の式よりは、こっちの方がいいっすw

 C1 =MAX(INDEX(TEXT(MID(A3:A2000,6,2),"0;;0;!0")*(LEFT(A3:A2000,4)=B1&""),0))
  
(またまた追記)
 これでいいような気がしてきたw

 C1 =MAX(INDEX((0&MID(A3:A2000,6,2))*(LEFT(A3:A2000,4)=B1&""),0))
 
(名無しのおっさん) 2014/07/05(土) 15:22 追記15:40

(名無しのおっさん) ありがとうございました。
 
 C1 =MAX(INDEX((0&MID(A3:A2000,6,2))*(LEFT(A3:A2000,4)=B1&""),0))
 の式が求めていた関数です。 大変勉強に成りました。
 
 重ねて御礼申し上げます。

 
(健) 2014/07/08(火) 05:54


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.