- 締切済み
数式の入った連続セルの行番号を比較
Excel2000を使っています。 例えばSheet1 A列には A 1 300 2 500 3 100 4 400 5 200 というような数字が数式 =Sheet2!A26、=Sheet2!B3 というように不規則に割り当てられて表示されています。 そこで、例えば A1とA2 のように上下二つのセルの行番号を関数を使って比較し、 同じなら B1に TRUE または FALSE と結果を表示したいのですがどのようにすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
セルに記入されている「式の内容」(そのセルに記入されているのが「シート2のA26を参照している式である」という事実)を知ることが出来る関数はありませんので,エクセルの関数ではアナタのヤリタイ事は全く実現できません。 #敢えてエクセルの一般機能で行うとすれば。 手順: A列を選択する Ctrl+Hで置換を開始する = を zzz に全て置換する B1に =MID(A1,FIND("!",A1&"!")+2,999)=MID(A2,FIND("!",A2&"!")+2,999) と記入し,リストの下端までコピー貼り付ける B列をコピーし,その場で形式を選んで貼り付けの値で貼り付ける A列を列選択し,置換でzzzを=に全て置換し戻す。 #参考 どうしても「関数」で計算をしたいのでしたら,マクロを使った自作関数を作成し行います 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける function myfx(byval a1 as excel.range, a2 as excel.range) as boolean myfx = (range(a1.formula).row = range(a2.formula).row) end function ファイルメニューから終了してエクセルに戻る B1セルに =myfx(A1,A2) と記入し,リスト下端までコピー貼り付ける
- keithin
- ベストアンサー率66% (5278/7941)
んーーと?? B1セルに =A2=A1 と記入し,以下コピーするようなことでしょうか。 #余談として もうちょっと細工してB1に =IF(A2="","",A1=A2) などのようにするのもアリです。
お礼
早速の回答ありがとうございます。 ですが、こちらの説明不足です。 知りたい結果はSheet1 A列に表示されている数字の参照元であるSheet2 の行番号の比較です。 A B 1 300 ← =Sheet2!A26 FALSE ←A1・A2比較の結果 2 500 ← =Sheet2!B3 TRUE ←A2・A3比較の結果 3 100 ← =Sheet2!C3 FALSE ←A3・A4比較の結果 4 400 ← =Sheet2!A10 FALSE ←A4・A5比較の結果 5 200 ← =Sheet2!D9