具体的に状況を説明します。

ドロップダウンリストによって「うし」「ぶた」「うま」等の
文字列を選択して、セルに表示させたとします。

別のセルの計算式のなかで、「うし」を撰んでいたら"a+b"のaは1
「ぶた」ならaは2、「うま」ならaは0でbは1など
文字列と数値を関連付ける方法はないでしょうか?

知っている方がいらっしゃいましたら、ご教示願います。
ちなみにexcel97を使っています。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

VLOOKUP関数が良いと思います


  a   b
1 ブタ  2
2 うし  1
3 うま  0

=VLOOKUP(c1,A1:B3,2,FALSE)
解説
 第一パラメータは、検索データの有る場所
 第二パラメータは、テーブル今回はa1:b3です
 第三パラメータは、左から何番目のデータを指定します
 第四バラメータは、テーブルが昇順に並んでいない時にfalseと指定します

がんばってください
何かあれば補足してください。
    • good
    • 0
この回答へのお礼

20分ほど、いろいろこねくりまわしてみたら出来ました。
VLOOKUP関数を使うのですね。
どうもありがとう御座いました。
一つ賢くなりました。

お礼日時:2002/01/21 16:33

こんにちは!



ご質問を理解しきれていないので少々自信が無いのですが!

・リスト配置をA1として

リスト記載先に対応数値表を追記

  D  E F
1    a b
2 うし 1 0
3 ぶた 2 0
4 うま 0 1

計算式
 =IF(A1="","",VLOOKUP(A1,$D$1:$E$4,2,0)+VLOOKUP(A1,$D$1:$F$4,3,0))

こんな感じでしょうか?
    • good
    • 0
この回答へのお礼

早々の御回答、ありがとう御座いました。

VLOOKUPの使い方を何とか理解できました。
ご協力感謝いたします。

お礼日時:2002/01/21 16:35

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで、セル(B7からB9)に入力されている値から文字「A」「B」

エクセルで、セル(B7からB9)に入力されている値から文字「A」「B」「C」を抽出したいのですがFINDやMID関数を使ってやってみてるのですが「VALUE」が返って、なかなかできません。
ご存じの方いらっしゃいましたら教えていただけませんでしょうか。
よろしくお願いします。

例)
199A001b →「A」
1969B0010b →「B」
19C001c →「C」

Aベストアンサー

最初に出てきた数字ではない文字を抽出したいということであれば、
C7のセルに以下のように入力し、CtrlキーとShiftキーを押しながらEnterキーで確定して下さい。

=MID(B7,MIN(IF(ISNUMBER(MID(B7,ROW(A1:A10),1)*1),"",ROW(A1:A10))),1)

※この式はすべて10文字以内に抽出したい文字があると仮定しています。

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

QA1セルにAと入力すると、A2セルに3000A3セルに2000A4セルに1000と表示させたい。

A1セルに「A」と入力する1回だけで、
A2セルに「3000」
A3セルに「2000」
A4セルに「1000」
A5セルに「合計数字」を表示させたいのですが、
式をご教授願いたいです。

よろしくお願いします。

Aベストアンサー

D1:G3
A500030001000
B500300130
C1200800300
A1にA,B,Cのどれかを入れる。
A2に =VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE)と入れて、
A4まで(G-D-1列数だけの行数)式を複写する。
結果
A1がBの場合A1:A4は
B
500
300
130

A1の空白の場合に対処して
=IF(A1="","",VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE))
が良いでしょう。
(既回答とほぼ同じ式ですが、1箇所違うところがあります。)

Aベストアンサー

書式>条件付き書式

セルの値が 次の値より小さい を選択
値は$B1とし、書式を設定。
設定したセルをコピーすればできませんか?

Qエクセルについてなのですが、 例えば指定の範囲内に A B B C A B C A B B C D

エクセルについてなのですが、

例えば指定の範囲内に
A B B C A B C A B B C D B D
と並んだセルからAとDの合計を出したい時はどのようにすればいいのですか?

COUNTIFSだったら複数条件を満たした数を表示するので希望とは違います。
希望はA or Dの合計を出したいのです。

Aベストアンサー

こんにちは!

COUNTIFS関数はAND条件になりますので、今回の質問には適しません。

=COUNTIF(範囲,"A")+COUNTIF(範囲,"D")
のように「A」のセル数と「D」のセル数をコツコツと足し算するのが
間違いないと思います。m(_ _)m


人気Q&Aランキング

おすすめ情報