Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


65033 / 76734 ←次へ | 前へ→

【16278】ランク
質問  koshimizu  - 04/7/23(金) 8:12 -

引用なし
パスワード
   koshimizuと申します。
よろしくお願いします。

下記のようにA列にA,B,C,Dのいずれかが入りB列ににもA,B,C,Dのいずれかが入った
場合にC列には必ず小さい値を返してほしいと言うことで下記のファンクションで
解決しているのですが、A列、B列が共に空白のときは空白で良いのですが、
どちらか片方のみ入力されたら、その値を返してほしいのですが、できません。
お願い致します。

  A B C D 列
1  B C  C
2  A D  D
3  C A  C

Function fncMinRank(strX As String, strY As String) As String
  Dim intX As Integer, intY As Integer
  Dim intMin As Integer
  '対象セルのランクを数値に置き換えます
  intX = fncRankNum(strX)
  intY = fncRankNum(strY)
  '最小値を求めます
  intMin = WorksheetFunction.Min(intX, intY)
  '最小値をランクに戻します
  If intMin = intX Then
    fncMinRank = strX
  ElseIf intMin = intY Then
    fncMinRank = strY
  Else
     fncMinRank = ""
  End If
End Function
=============================
Function fncRankNum(strrank As String) As Integer
  'ランクを数値に置き換えた結果を返します
  Select Case strrank
   Case "A"
    fncRankNum = 26
   Case "B"
    fncRankNum = 25
   Case "C"
    fncRankNum = 24
   Case "D"
    fncRankNum = 23
   Case Else
    fncRankNum = 0
   End Select
End Function

1 hits

【16278】ランク koshimizu 04/7/23(金) 8:12 質問
【16280】Re:ランク Asaki 04/7/23(金) 9:03 回答
【16281】ランク koshimizu 04/7/23(金) 9:50 お礼

65033 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free